介绍
这期内容当中小编将会给大家带来有关使用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怎么根据图片色界在不同位置加水印了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。