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程式設計有所幫助。
TAG標籤:水印 色階 PHP #