当前位置:学者斋 >

计算机 >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/jsj/php/6g1zre.html