當前位置:學者齋 >

計算機 >php語言 >

PHP如何根據圖片色階不同添加水印

PHP如何根據圖片色階不同添加水印

PHP如何根據圖片色階不同添加水印
  下面小編將講解PHP如何根據圖片色階不同添加水印,具體如下,歡迎參考,更多消息請關注應屆畢業生網。  在使用php編程的時候, 很多時候需要對上傳的圖片加水印,來確定圖片版權和出處. 但是,一般情況下加水印的`位置是圖片的右下角, 但是,不同圖片的色階不同,有時候我們 圖片的水印和圖片本身色階相同,就會造成水印不明顯.  下面這段代碼可以實現自動識別圖片的色階,更加色階差來添加圖片的水印,這樣可以避免水印和圖片色階一樣的弊端.  read()){  if($file != '.' && $file != '..'){  if(is_dir($to_dir . '/' . $file)){  mkdir($output_dir . '/' . $file);  add_wm_recurse($nmw_water, $to_dir . '/' . $file, $output_dir . '/' . $file, $arr);  }else{  if(!array_key_exists($to_dir . '/' . $file, $arr)){  continue;  }  $sub_arr = $arr[$to_dir . '/' . $file];  if($sub_arr){  $x = intval($sub_arr[0]);  $y = intval($sub_arr[1]);  add_wm($nmw_water, $to_dir . '/' . $file, $output_dir . '/' . $file, $x, $y);  }  }  }  }  $dp->close();  }  $to_dir = './resized';  $output_dir = './output';  // 這個是我用java的ImageIO遍歷圖片像素獲取的符合褲子顏色的區域的座標array(posX, posY)  $arr = array(  array(50, 50)  );  $water = './water.png';  $nmw_water =NewMagickWand();  MagickReadImage($nmw_water, $water);  add_wm_recurse($nmw_water, $to_dir, $output_dir, $arr);  DestroyMagickWand($nmw_water);  ?>  補充:  PHP圖像處理模塊 MagickWand用法  MagickWand 是一個PHP的模塊,用來訪問 ImageMagick 的圖像處理庫。下面是一個使用 MagicWand 的代碼片段:  $magick_wand=NewMagickWand();  MagickReadImage($magick_wand,'rose.jpg');  $drawing_wand=NewDrawingWand();  DrawSetFont($drawing_wand,"/usr/share/fonts/bitstream-vera/");  DrawSetFontSize($drawing_wand,20);  DrawSetGravity($drawing_wand,MW_CenterGravity);  $pixel_wand=NewPixelWand();  PixelSetColor($pixel_wand,"white");  DrawSetFillColor($drawing_wand,$pixel_wand);  if (MagickAnnotateImage($magick_wand,$drawing_wand,0,0,0,"Rose") != 0)  {  MagickEchoImageBlob( $magick_wand );  }  else  {  echo MagickGetExceptionString($magick_wand);  }  ?>  安裝方法:  1. 下載 php_magickwand_q16_ for 5.2.x  2. 將其放在PHP的擴展目錄  3. 在文件總增加 extension=php_magickwand_q16_  4. 重新啟動apache  希望本文所述對大家的php程序設計有所幫助。
標籤: PHP 色階 水印
  • 文章版權屬於文章作者所有,轉載請註明 https://xuezhezhai.com/zh-mo/jsj/php/6g1zre.html