업로드 이미지에 자동으로 워터마크 씌우기를 적용시킨후 정보
업로드 이미지에 자동으로 워터마크 씌우기를 적용시킨후본문
오류가 나는곳의 주소를 알려주시면 더 빠르고 정확하게 답변 받을 수 있습니다.
오류 주소 : http://sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=16170&sca=&sfl=wr_subject%7C%7Cwr_content&stx=%BF%F6%C5%CD%B8%B6%C5%A9&sop=and
서코필드님의 게시물에서 보고 적용했는데 jpg이미지일 경우엔 문제가 없지만 gif로 올린 이미지는 엑박이 뜨네요.. 앞으로 jpg만 올린다고 해결될게 아니라 gif로 올린 예전 게시물을 일일이 다 jpg로 바꿔서 올릴 수도 없는 노릇이라서요..
근본적인 문제를 해결하고자 하는데 gif는 원래 지원을 안하나요?
----------makeimg.php-----------
<?
/*
program: makeimg.php
description: creates new image by merging source image
with watermark and outputs it to the browser
*/
header("Content-Type: image/jpeg");
//(because the script outputs picture)
if (isset($_GET['transparency'])) {
if ($_GET['transparency'] >= 0 && $_GET['transparency'] <= 100) {
$transparency = (int) $_GET['transparency'];
}
}
else $transparency = 70; // 워터마크 투명도 조절
//$transparency = (int) $_GET['transparency'];
//source photo
$source_photo = stripslashes($_GET['photo']);
$photo = imagecreatefromjpeg($source_photo);
//watermark
$watermark = imagecreatefrompng('img/watermark.png');
$watermark_width = imagesx($watermark);
$watermark_height = imagesy($watermark);
//location of the watermark on the source image
$size = getimagesize($source_photo);
$dest_x = ($size[0] - $watermark_width) / 2;
$dest_y = ($size[1] - $watermark_height) / 2;
//make the image (merge source image with watermark)
imagecopymerge($photo, $watermark, $dest_x, $dest_y, 0, 0, $watermark_width, $watermark_height, $transparency);
//output the image
imagejpeg($photo);
//free memory
imagedestroy($photo);
imagedestroy($watermark);
?>
--------------------------------------------------------
오류 주소 : http://sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=16170&sca=&sfl=wr_subject%7C%7Cwr_content&stx=%BF%F6%C5%CD%B8%B6%C5%A9&sop=and
서코필드님의 게시물에서 보고 적용했는데 jpg이미지일 경우엔 문제가 없지만 gif로 올린 이미지는 엑박이 뜨네요.. 앞으로 jpg만 올린다고 해결될게 아니라 gif로 올린 예전 게시물을 일일이 다 jpg로 바꿔서 올릴 수도 없는 노릇이라서요..
근본적인 문제를 해결하고자 하는데 gif는 원래 지원을 안하나요?
----------makeimg.php-----------
<?
/*
program: makeimg.php
description: creates new image by merging source image
with watermark and outputs it to the browser
*/
header("Content-Type: image/jpeg");
//(because the script outputs picture)
if (isset($_GET['transparency'])) {
if ($_GET['transparency'] >= 0 && $_GET['transparency'] <= 100) {
$transparency = (int) $_GET['transparency'];
}
}
else $transparency = 70; // 워터마크 투명도 조절
//$transparency = (int) $_GET['transparency'];
//source photo
$source_photo = stripslashes($_GET['photo']);
$photo = imagecreatefromjpeg($source_photo);
//watermark
$watermark = imagecreatefrompng('img/watermark.png');
$watermark_width = imagesx($watermark);
$watermark_height = imagesy($watermark);
//location of the watermark on the source image
$size = getimagesize($source_photo);
$dest_x = ($size[0] - $watermark_width) / 2;
$dest_y = ($size[1] - $watermark_height) / 2;
//make the image (merge source image with watermark)
imagecopymerge($photo, $watermark, $dest_x, $dest_y, 0, 0, $watermark_width, $watermark_height, $transparency);
//output the image
imagejpeg($photo);
//free memory
imagedestroy($photo);
imagedestroy($watermark);
?>
--------------------------------------------------------
댓글 전체

header("Content-Type: image/jpeg");
이 부분에서 "나는 앞으로 출력할 것은 jpeg 이미지요~" 라고 통보를 해버려서 그런것으로 사료됩니다.
이미지 확장자에 맞게 헤더파일을 변경하는 코드를 삽입하시거나 빼보시면서 테스트 해보세요.
GIF일 경우에는 header("Content-type: image/gif");
이 부분에서 "나는 앞으로 출력할 것은 jpeg 이미지요~" 라고 통보를 해버려서 그런것으로 사료됩니다.
이미지 확장자에 맞게 헤더파일을 변경하는 코드를 삽입하시거나 빼보시면서 테스트 해보세요.
GIF일 경우에는 header("Content-type: image/gif");
jpg와 gif모두 지원하도록은 못하나요?

jpg와 gif,png 까지 지원하는 소스를 아래 링크에서 받아 가세요.
watermark.rar받으시면 됩니다.
http://www.pupu.co.kr/bbs/board.php?bo_table=06_5&wr_id=3
watermark.rar받으시면 됩니다.
http://www.pupu.co.kr/bbs/board.php?bo_table=06_5&wr_id=3