使用PHP怎么根据图片色界在不同位置加水印

  介绍

这期内容当中小编将会给大家带来有关使用PHP怎么根据图片色界在不同位置加水印,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

& lt; PHP ?   ,function  add_wm (nmw_water美元,src_file美元,output_file美元,$ x, y)美元,{   ,如果(file_exists (output_file美元))   ,返回;   ,w1 美元;=,MagickGetImageWidth ($ nmw_water);   ,h2 美元;=,MagickGetImageHeight ($ nmw_water);   ,nmw 美元;=NewMagickWand ();   ,MagickReadImage (nmw美元,,src_file美元);   ,//默认的加水印位置调整   50美元,lt_w =,;   50美元,lt_h =,;   ,如果(x 美元;==,0){   ,w 美元;=,MagickGetImageWidth ($ nmw);   ,h 美元;=,MagickGetImageHeight ($ nmw);=,美元x  w美元;   美元,美元y =, h;   ,其他}{   ,//根据具体情况调整=,美元lt_w  30;   ,lt_h 美元;=,40;   ,}   ,MagickCompositeImage (nmw美元,nmw_water美元,MW_OverCompositeOp,, x 美元;作用;w1 美元;作用;lt_w美元,美元y 作用;h2 美元;作用;lt_h美元);   ,MagickWriteImage (nmw美元,,output_file);   ,DestroyMagickWand ($ nmw);   ,}   ,//还是groovy的eachFileRecurse好用啊   ,function  add_wm_recurse (nmw_water美元,to_dir美元,output_dir美元,美元arr), {   ,dp 美元;=,dir ($ to_dir);   文件,而($=$ dp→读()){   ,如果($ file  !=, & # 39;强生的,,,,,file 美元;!=,& # 39;. . & # 39;){   ,如果(is_dir (to_dir 美元;只& # 39;/& # 39;,只美元文件)){   mkdir才能(output_dir 美元;只& # 39;/& # 39;,只美元文件);   add_wm_recurse才能(nmw_water美元,美元to_dir 只& # 39;/& # 39;,只文件,美元,美元output_dir 只& # 39;/& # 39;,只文件,美元,美元arr);   ,其他}{   如果才能(! array_key_exists ($ to_dir 只& # 39;/& # 39;,只文件,美元,美元arr)) {   继续才能;   ,,}   sub_arr 美元;才能=,arr美元($ to_dir 只& # 39;/& # 39;,只美元文件);   如果才能(sub_arr美元){   时间=美元才能x  intval中($ sub_arr [0]);   时间=美元才能y  intval中($ sub_arr [1]);   add_wm才能(nmw_water美元,美元to_dir 只& # 39;/& # 39;,只文件,美元,美元output_dir 只& # 39;/& # 39;,只文件,美元,$ x, y美元);   ,,}   ,}   ,}   ,}   美元,dp→close ();   ,}   ,to_dir 美元;=,& # 39;。/大小# 39;;   ,output_dir 美元;=,& # 39;。/输出# 39;;   ,//这个是我用java的ImageIO遍历图片像素获取的符合裤子颜色的区域的坐标数组(posX,诗句)   ,arr 美元;=,阵列(   ,阵列(50岁,50)   ,);   ,water 美元;=,& # 39;。/water.png& # 39;;   ,nmw_water 美元;=NewMagickWand ();   ,MagickReadImage (nmw_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美元,& # 39;rose.jpg& # 39;);   $ drawing_wand=NewDrawingWand ();   DrawSetFont ($ drawing_wand“/usr/share/字体/bitstream-vera/Vera.ttf");   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 美元;);   }   其他的   {   ,echo  MagickGetExceptionString ($ magick_wand);   }   祝辞;

安装方法:

1。下载php_magickwand_q16_st。dll为5.2.x
2。将其放在PHP的扩展目录
3。在php。ini文件总增加扩展=php_magickwand_q16_st.dll
4。重新启动apache

上述就是小编为大家分享的使用PHP怎么根据图片色界在不同位置加水印了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。

使用PHP怎么根据图片色界在不同位置加水印