PHP图片加水印实现方法。分享给大家供大家参考,具体如下:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | <?phpechoimg_water_mark("2008112023204423477802.gif", "copyImg.png", $savepath=null, $savename="123.gif", $positon=2, $alpha=60);/** * 图片加水印(适用于png/jpg/gif格式) *  * @author flynetcn * * @param $srcImg 原图片 * @param $waterImg 水印图片 * @param $savepath 保存路径 * @param $savename 保存名字 * @param $positon 水印位置  * 1:顶部居左, 2:顶部居右, 3:居中, 4:底部局左, 5:底部居右  * @param $alpha 透明度 -- 0:完全透明, 100:完全不透明 *  * @return 成功 -- 加水印后的新图片地址 *     失败 -- -1:原文件不存在, -2:水印图片不存在, -3:原文件图像对象建立失败-4:水印文件图像对象建立失败, -5:加水印后的新图片保存失败 */{  $temp= pathinfo($srcImg);  $name= $temp['basename'];  $path= $temp['dirname'];  $exte= $temp['extension'];  $savename= $savename? $savename: $name;  $savepath= $savepath? $savepath: $path;  $savefile= $savepath.'/'. $savename;  $srcinfo= @getimagesize($srcImg);  if(!$srcinfo) {    return-1; //原文件不存在  }  $waterinfo= @getimagesize($waterImg);  if(!$waterinfo) {    return-2; //水印图片不存在  }  $srcImgObj= image_create_from_ext($srcImg);  if(!$srcImgObj) {    return-3; //原文件图像对象建立失败  }  $waterImgObj= image_create_from_ext($waterImg);  if(!$waterImgObj) {    return-4; //水印文件图像对象建立失败  }  switch($positon) {  //1顶部居左  case1: $x=$y=0; break;  //2顶部居右  case2: $x= $srcinfo[0]-$waterinfo[0]; $y= 0; break;  //3居中  case3: $x= ($srcinfo[0]-$waterinfo[0])/2; $y= ($srcinfo[1]-$waterinfo[1])/2; break;  //4底部居左  case4: $x= 0; $y= $srcinfo[1]-$waterinfo[1]; break;  //5底部居右  case5: $x= $srcinfo[0]-$waterinfo[0]; $y= $srcinfo[1]-$waterinfo[1]; break;  default: $x=$y=0;  }  imagecopymerge($srcImgObj, $waterImgObj, $x, $y, 0, 0, $waterinfo[0], $waterinfo[1], $alpha);  switch($srcinfo[2]) {  case1: imagegif($srcImgObj, $savefile); break;  case2: imagejpeg($srcImgObj, $savefile); break;  case3: imagepng($srcImgObj, $savefile); break;  default: return-5; //保存失败  }  imagedestroy($srcImgObj);  imagedestroy($waterImgObj);  return$savefile;}functionimage_create_from_ext($imgfile){  $info= getimagesize($imgfile);  $im= null;  switch($info[2]) {  case1: $im=imagecreatefromgif($imgfile); break;  case2: $im=imagecreatefromjpeg($imgfile); break;  case3: $im=imagecreatefrompng($imgfile); break;  }  return$im;}?> | 
© 版权声明
本文刊载的所有内容,包括文字、图片、音频、视频、软件、程序、以及网页版式设计等部门来源于互联网,版权均归原作者所有!本网站提供的内容服务于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯本网站及相关权利人的合法权利。
联系信息:邮箱aoxolcom@163.com或见网站底部。
联系信息:邮箱aoxolcom@163.com或见网站底部。
THE END
    



















请登录后发表评论
注册
社交帐号登录