카이루님 감사드립니다♡♡ 워터마크 질문 한번만 더 부탁드릴께요

· 16년 전 · 939
카이루님께서 말씀하신 방법대로 그부분의 소스를 수정하니 투명하게 처리되는건 없어
졌는데 워터마크가 무조건 검정색으로 찍히더라구요.

워터마크를 파란색, 빨간색, 흰색, 초록색, 노란색 등 어떤 색으로 만들어놔도 무조건
워터마크가 검정색이 됩니다.

그냥 저는 단지 원본파일 그대로를 찍고 싶을 뿐인데, 어느부분을 어떻게 수정하면 될까요?





<?
function watermark($file, $save_filename, $water_file)
{
$url="/usr/home/사이트주소/public_html/bbs/"; //자신의 제로보드 절대경로를 써줍니다
$file=$url.$file;

$img_info = getImageSize($file);
if($img_info[2] == 1) $src_img = ImageCreateFromGif($file); //gif파일일경우
elseif($img_info[2] == 2) $src_img = ImageCreateFromJPEG($file);//jpg파일일경우
elseif($img_info[2] == 3) $src_img = ImageCreateFromPNG($file);//png파일일경우
elseif($img_info[2] == 6) {
exec( "bmptoppm $file > $file.ppm");
exec( "cjpeg -quality 100 $file.ppm > $file.jpg");
$src_img = ImageCreateFromJPEG($file.".jpg");
}
else return 0;

$img_width = $img_info[0];
$img_height = $img_info[1];

$dst_img = $src_img;

$water = ImageCreateFromPNG($water_file);
$water_x = imageSX($water);
$water_y = imageSY($water);

$trans = Imagecolorat($water, 0, 0);
$offset_X = $img_width - $water_x - 3;
$offset_Y = $img_height - $water_y - 3;

for ( $i = 0; $i < $water_x; $i++ )
for ( $j = 0; $j < $water_y; $j++ )
if ( $trans != Imagecolorat($water, $i, $j) ) {
$rgb = imagecolorsforindex($dst_img, Imagecolorat($dst_img, $i + $offset_X, $j + $offset_Y));

if ( $rgb["red"] > 177) $rgb["red"] = $rgb["red"] - 50;
else $rgb["red"] = $rgb["red"] + 50;
if ( $rgb["green"] > 177) $rgb["green"] = $rgb["green"] - 50;
else $rgb["green"] = $rgb["green"] + 50;
if ( $rgb["blue"] > 177) $rgb["blue"] = $rgb["blue"] - 50;
else $rgb["blue"] = $rgb["blue"] + 50;
$wt_img = $dst_img;
imagesetpixel($dst_img, $i+$offset_X, $j+$offset_Y, $wt_img);
}

if($img_info[2] == 1) {
ImageInterlace($dst_img);
ImageJPEG($dst_img, $file.$save_filename);//gif라이팅안되므로수정
}elseif($img_info[2] == 2){
ImageInterlace($dst_img);
ImageJPEG($dst_img, $file.$save_filename);
}elseif($img_info[2] == 3){
ImagePNG($dst_img, $file.$save_filename);
}elseif($img_info[2] == 6){
ImageInterlace($dst_img);
ImageJPEG($dst_img, $file.$save_filename);
unlink( "$file.ppm" );
unlink( "$file.jpg" );
}
ImageDestroy($dst_img);
}
?>
|
댓글을 작성하시려면 로그인이 필요합니다. 로그인

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기 기존 게시물은 열람만 가능합니다.

+
제목 글쓴이 날짜 조회
16년 전 조회 966
16년 전 조회 5,178
16년 전 조회 1,516
16년 전 조회 952
16년 전 조회 1,711
16년 전 조회 1,687
16년 전 조회 963
16년 전 조회 899
16년 전 조회 739
16년 전 조회 940
16년 전 조회 1,592
16년 전 조회 944
16년 전 조회 859
16년 전 조회 1,928
16년 전 조회 821
16년 전 조회 954
16년 전 조회 741
16년 전 조회 947
16년 전 조회 1,010
16년 전 조회 1,666
🐛 버그신고