Refresh

This website openwiki.kr/tech/dokuwiki_jpeg_watermark is currently offline. Cloudflare\'s Always Online™ shows a snapshot of this web page from the Internet Archive\'s Wayback Machine. To check for the live version, click Refresh.

도쿠 위키 Jpeg에 출처 표시 넣기... (Dokuwiki Jpeg Watermark)

도쿠 위키에 Jpeg 그림에 워터 마크 넣기…

/lib/exe/fetch.php finally send the file to the client 라는 주석 앞 부분에 넣으면 됩니다.

확장자가 JPEG 이고, 가로 크기가 300픽셀 이상이라면 워터마크 이미지를 불러와서 합쳐줍니다…

  • 다른 확장자는 귀찮아서 안했습니다.
  • 당근 내부 이미지만 됩니다.
  • 이게 html 표준에 잘 맞는 지는 모르겠습니다. 에러 수정했습니다.
  • 실시간으로 이루어지는 것이라 원본 그림은 변형되지 않습니다.
  //vaslor  image watermark... 
if((substr($MIME,0,5) =='image') && ($EXT == 'jpg' || $EXT == 'jpeg') ){ 
// 확장자가 JPEG 이고,
  $size = getimagesize($FILE);  
  if ( $size[0]>299) { //  가로 크기가 300픽셀 이상이라면
       $watermark = imagecreatefromgif('watermark.gif');  
       $watermark_width = imagesx($watermark);  
       $watermark_height = imagesy($watermark);  
       $image = imagecreatefromjpeg($FILE);  
       $dest_x = $size[0] - $watermark_width - 5;  
       $dest_y = $size[1] - $watermark_height - 5;  
       imagecopymerge($image, $watermark, $dest_x, $dest_y, 0, 0, 
                      $watermark_width, $watermark_height, 60);  
      // header('Content-Type: image/jpg'); 
       imageinterlace($image,1);  //progressive
      // $data['file'] = $FILE  =imagejpeg($image,NULL,100);
     imagejpeg($image,NULL,100); //
     // imagejpeg($image,$FILE,100);
       imagedestroy($image);
       exit;
  } 
}

watermark.gif 는 /lib/exe/ 에 넣어줍니다.

혹은 방법2

약간 개선된 방법입니다.

inc/fetch.functions.php 를 수정합니다.

    //use x-sendfile header to pass the delivery to compatible webservers

이 문구 앞에 넣습니다.

	//vaslor watermark 삽입...
	if(($mime == 'image/jpeg')||($mime == 'image/pjpeg'))
	{  // jpg,jpeg만
  		$size = getimagesize($file);
  		if ( $size[0]>299) 
		{ //  그림 가로 크기가 300픽셀 이상이라면
    		switch ($size[0]) 
			{
    			case ($size[0]>1200): {$watermark =imagecreatefromgif('watermark_l.gif'); break;}
				case ($size[0]>600): {$watermark =imagecreatefromgif('watermark_m.gif'); break;}
    default:             {$watermark =imagecreatefromgif('watermark_s.gif');}
    	  	}
			$watermark_width = imagesx($watermark);  
    		$watermark_height = imagesy($watermark);  
    		$image = imagecreatefromjpeg($file);  
    		$dest_x = ($size[0] - $watermark_width)/2;  
    		$dest_y = ($size[1] - $watermark_height)/2;  
    		imagecopymerge($image, $watermark, $dest_x, $dest_y, 0, 0, $watermark_width, $watermark_height, 30);  
   	 		imageinterlace($image,1);  //progressive
    		imagejpeg($image,NULL,100); // 실시간, 저장은 안함.
    		imagedestroy($image);  
    		imagedestroy($watermark);//삭제.
   	 		exit;
  		} 
	 } 
 

watermark.gifwatermark_l.gif는 동일하게 /lib/exe 에 넣습니다.

누구나 수정하실 수 있습니다. 문법은 Formatting Syntax참조하세요.

연결문서