이미지에 워터마크 넣기

====================================================
bbs/write_update.php
====================================================
109~164행 추가
----------------------------------------------------
// 이미지에 워터마크 넣기
// PHP > 4.0, GD > 2.0.1
// WatermarkImage("원본이미지","겹처지는이미지","투명도","화질",[겹치는이미지위치(0,1,2)]);
function WatermarkImage($CanvasImage, $WatermarkImage /* MUST BE PNG */, $Opacity=30, $Quality=70, $WatermarkLocate=1)
{
// create true color canvas image:
$canvas_src = imagecreatefromjpeg($CanvasImage);
$canvas_w = ImageSX($canvas_src);
$canvas_h = ImageSY($canvas_src);
$canvas_img = imagecreatetruecolor($canvas_w, $canvas_h);
imagecopy($canvas_img, $canvas_src, 0,0,0,0, $canvas_w, $canvas_h);
imagedestroy($canvas_src); // no longer needed

// create true color overlay image:
$overlay_src = imagecreatefrompng($WatermarkImage);
$overlay_w = ImageSX($overlay_src);
$overlay_h = ImageSY($overlay_src);
$overlay_img = imagecreatetruecolor($overlay_w, $overlay_h);
imagecopy($overlay_img, $overlay_src, 0,0,0,0, $overlay_w, $overlay_h);
imagedestroy($overlay_src); // no longer needed

// setup transparent color (pick one):
$black = imagecolorallocate($overlay_img, 0x00, 0x00, 0x00);
$white = imagecolorallocate($overlay_img, 0xFF, 0xFF, 0xFF);
$magenta = imagecolorallocate($overlay_img, 0xFF, 0x00, 0xFF);
// and use it here:
imagecolortransparent($overlay_img, $white);

// 워터마크 이미지의 위치(기본값은 가운데 1입니다.)
switch ($WatermarkLocate) {
case 0: // 좌측상단
$ww = 0;
$wh = 0;
break;
case 1: // 가운데
$ww = ($canvas_w / 2) - ($overlay_w / 2);
$wh = $canvas_h - ($overlay_h);
break;
case 2: // 우측하단
$ww = $canvas_w - ($overlay_w);
$wh = $canvas_h - ($overlay_h);
break;
}

// copy and merge the overlay image and the canvas image:
imagecopymerge($canvas_img, $overlay_img, $ww,$wh,0,0, $overlay_w, $overlay_h, $Opacity);

imagejpeg($canvas_img, $CanvasImage, $Quality);
/*
// output:
header("Content-type: image/jpeg");
imagejpeg($canvas_img, '', $Quality);
*/
imagedestroy($overlay_img);
imagedestroy($canvas_img);
}
----------------------------------------------------
238~241행 추가
----------------------------------------------------
// WatermarkImage("원본이미지","겹처지는이미지","투명도","화질",[겹치는이미지위치(0,1,2)]);
// 겹치는이미지위치값이 0이면 좌측상단, 1이면 가운데, 2이면 우측하단
$overfile = "$g4[path]/overlay.png";
WatermarkImage("$dest_file", $overfile, 40, 70, 1);
----------------------------------------------------
//워터마크기능
|

댓글 15개

좋은 팁 감사합니다...적용해보겠습니다..^^
이미지가 반드시 png포맷이어야 하나요?
기다리던 팁입니다.
감사합니다.
감사합니다^
좋은 팁 감사합니다! ^^
와우..정말 감사합니다. 며칠전에 해볼려다가 못했었는데..^^
109~164행 추가

위 말이 행 사이에 추가하라는 말인가요.

행 다음에 아니면 행 앞에 추가하라는 말씀인가요?
게시판마다 따로 제어 가능 한가요? 아니면 싸이트내 모든 이미지에 찍히나요?
좋은팁 인데 전 인터넷은 제한하지 말자는 주의라서..^^
아, 제가 정말 찾던 팁입니다~ 감사합니다!!!
이거 원래 여러장 업로드할때는 마지막장만 워터마크가 찍히는가요?
테스트해보니 그렇게 되네요..

그리고 글수정에서 이미지를 삭제하고 수정완료하니까 무슨 에러표시 5~6줄 생겼다 넘어가네요.
작동은 정상작동이 되긴하는데요.
이미지에 워터마크 넣기
어째 예전에 내가 만든 소스랑 앞뒤가 똑같네.....
감사합니다. 스크랩
이미지에 워터마크 넣기
댓글을 작성하시려면 로그인이 필요합니다.

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요. 나누면 즐거움이 커집니다.

+
제목 글쓴이 날짜 조회
19년 전 조회 5,284
19년 전 조회 4,771
19년 전 조회 2,523
19년 전 조회 4,620
19년 전 조회 3,857
19년 전 조회 4,112
19년 전 조회 8,056
19년 전 조회 3,200
19년 전 조회 5,706
19년 전 조회 6,726
19년 전 조회 3,301
19년 전 조회 4,143
19년 전 조회 4,391
19년 전 조회 5,380
19년 전 조회 4,139
19년 전 조회 4,726
19년 전 조회 6,448
19년 전 조회 8,472
19년 전 조회 6,578
19년 전 조회 4,320