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

그누4 질문답변

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

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

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

본문

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

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

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





<?
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);
}
?>

댓글 전체

전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT