根据我们在PHP中的实现不同水印位置的方法
使用PHP编程时,很多时候需要上传图片水印来确定图像的版权和来源。但是,由于水印的位置一般是右下角的图片,但不同颜色的图片不同,有时我们的图片水印和图像本身会引起相同的颜色,水印不明显。
该代码可以实现彩色图像的自动识别,增加颜色差异,增加图像水印,从而避免相同的彩色水印和图像缺陷。
< PHP
功能add_wm(nmw_water美元,src_file美元,output_file美元美元美元,X,Y){
如果(file_exists($ output_file))
返回;
W1 = magickgetimagewidth美元(美元nmw_water);
H1 = magickgetimageheight美元(美元nmw_water);
$nmw =NewMagickWand ();
magickreadimage(美元及美元src_file);
添加水印默认位置调整
lt_w = 50美元;
lt_h = 50美元;
如果($ = 0){
W = magickgetimagewidth美元($ 2005);
H = magickgetimageheight美元($ 2005);
X元= $ W;
$ y = h;
其他{ }
根据具体情况进行调整
lt_w = 30美元;
lt_h = 40美元;
}
magickcompositeimage(美元及美元nmw_water,mw_overcompositeop,X元至W1至lt_w,Y元至H1至lt_h);
magickwriteimage(美元及美元output_file);
destroymagickwand($ 2005);
}
常规eachfilerecurse / /或好啊
功能add_wm_recurse(nmw_water美元,to_dir美元美元美元,output_dir,ARR){
美元($ to_dir DP = dir);
当($)
如果($文件)!=$文件!..)
如果(is_dir($ to_dir文件)){
mkdir(output_dir美元。文件。;
add_wm_recurse(nmw_water美元,to_dir美元。output_dir美元。$文件。,。文件,$ ARR);
其他{ }
如果(!array_key_exists(to_dir美元。美元。美元的文件,ARR)){
继续;
}
sub_arr美元美元美元的to_dir ARR = {。文件};
如果($ sub_arr){
X = intval美元(美元sub_arr { 0 });
Y = intval美元(美元sub_arr { 1 });
add_wm(nmw_water美元,to_dir美元。output_dir美元。$文件。,。$文件,$ x,y);
}
}
}
}
美元-关闭();
}
to_dir美元= '。 /调整大小;
output_dir美元= /输出;
这是我得到的ImageIO / java数组的裤子区颜色坐标遍历图像像素(POSx,铭文)
$ ARR =阵列(
数组(50, 50)
);
水=;
nmw_water美元= newmagickwand();
magickreadimage(nmw_water美元,$水);
add_wm_recurse(nmw_water美元,to_dir美元美元美元,output_dir,ARR);
destroymagickwand($ nmw_water);
>
补充:
MagickWand PHP图像处理模块的使用
MagickWand是一个PHP模块,用于访问ImageMagick的图像处理库。以下是代码片段,用MagicWand:
magick_wand美元= newmagickwand();
magickreadimage(magick_wand美元,'rose .webp);
drawing_wand美元= newdrawingwand();
drawsetfont($ drawing_wand, / usr / / /比特流共享字体芦荟/芦荟。TTF );
drawsetfontsize(drawing_wand美元,20);
drawsetgravity(drawing_wand美元,mw_centergravity);
pixel_wand美元= newpixelwand();
pixelsetcolor($ pixel_wand,白);
drawsetfillcolor(drawing_wand美元,美元pixel_wand);
如果(magickannotateimage(magick_wand美元,美元drawing_wand,0,0,0,玫瑰)!= 0)
{
magickechoimageblob($ magick_wand);
}
其他的
{
Echo MagickGetExceptionString(magick_wand美元);
}
>
安装方法:
1。下载php_magickwand_q16_st.dll x 5.2。
2。把它放在PHP的扩展目录中
三.在php.ini文件扩展名为php_magickwand_q16_st.dll总量增加
4。重新启动Apache
希望本文能对大家的PHP程序设计有所帮助。