使用php怎么为图片添加水印

介绍

这篇文章将为大家详细讲解有关使用php怎么为图片添加水印,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

代码如下:


& lt; ? php
/* *
, *图片加水印(适用于png/jpg或gif格式)
, *
, * @author flynetcn
, *
, * @param $ srcImg原图片
, * @param $ waterImg水印图片
, * @param savepath美元保存路径
, * @param savename美元保存名字
, * @param $正电子水印位置
, * 1:顶部居左,2:顶部居右,3:居中,4:底部局左,5:底部居右
, * @param $α透明度——0:完全透明,100:完全不透明
, *
, * @return成功——加水印后的新图片地址
, *,,,,,,,,,失败——1:原文件不存在,2:水印图片不存在,3:原文件图像对象建立失败
, *,,,,,,,,,4:水印文件图像对象建立失败5:加水印后的新图片保存失败
, */
函数img_water_mark ($ srcImg waterImg美元$ savepath=null, $ savename=null,正电子=5美元,α=30美元)
{
,,,(temp=pathinfo美元srcImg);
,,,name=temp美元[& # 39;basename # 39;],
,,,路径=temp美元[& # 39;目录名# 39;],
,,,exte=temp美元[& # 39;扩展# 39;],
,,,savename=savename美元吗?savename:名称;美元
,,,savepath=savepath美元吗?savepath:路径;美元
,,,savefile=本市savepath # 39;美元/& # 39;。savename美元;
,,,(srcinfo=@getimagesize美元srcImg);
,,,如果(! $ srcinfo) {
,,,,,,,返回1;//原文件不存在
,,,}
,,,(waterinfo=@getimagesize美元waterImg);
,,,如果(! $ waterinfo) {
,,,,,,,返回2;//水印图片不存在
,,,}
,,,(srcImgObj=image_create_from_ext美元srcImg);
,,,如果(! $ srcImgObj) {
,,,,,,,返回3;//原文件图像对象建立失败
,,,}
,,,(waterImgObj=image_create_from_ext美元waterImg);
,,,如果(! $ waterImgObj) {
,,,,,,,返回4;//水印文件图像对象建立失败
,,,}
,,,开关(正电子美元){
,,,//1顶部居左
,,,案例1:$ x=$ y=0;打破;
,,,//2顶部居右
,,,案例2:$ x=$ srcinfo [0] - waterinfo美元[0];$ y=0;打破;
,,,//3居中
,,,案例3:$ x=($ srcinfo [0] - waterinfo美元[0])/2;(y=美元srcinfo waterinfo美元[1]- [1])/2;打破;
,,,//4底部居左
,,,案例4:$ x=0;y=srcinfo美元[1]- waterinfo美元[1];打破;
,,,//5底部居右
,,,案例5:$ x=$ srcinfo [0] - waterinfo美元[0];y=srcinfo美元[1]- waterinfo美元[1];打破;
,,,默认值:$ x=y=0美元;
,,,}
,,,imagecopymerge (srcImgObj, waterImgObj美元,$ x, y,美元0,0,waterinfo美元[0],美元waterinfo[1],美元α);
,,,开关($ srcinfo [2]) {
,,,案例1:imagegif (srcImgObj, savefile美元);打破;
,,,案例2:imagejpeg (srcImgObj, savefile美元);打破;
,,,案例3:imagepng (srcImgObj, savefile美元);打破;
,,,默认值:返回5;//保存失败
,,,}
,,,imagedestroy ($ srcImgObj);
,,,imagedestroy ($ waterImgObj);
,,,返回savefile美元;
}


函数image_create_from_ext (imgfile美元)
{
,,,(信息=getimagesize美元imgfile);
,,,我美元=零;
,,,开关(信息[2]美元){
,,,案例1:im=imagecreatefromgif美元($ imgfile);打破;
,,,案例2:im=imagecreatefromjpeg美元($ imgfile);打破;
,,,案例3:im=imagecreatefrompng美元($ imgfile);打破;
,,,}
,,,返回im美元;
}

使用php怎么为图片添加水印