<?php/***图片加水印*@param$srcImg原图*@param$waterImg水印图片*@param$savepath保存路径*@param$savename保存名字*@param$position水印位置*1:左上2:右上3:居中4:左下5:右下*@param$opacity透明度*0:全透明100:完全不透明*@return成功--加水印后的新图片地址*失败---1:源文件不存在,-2:水印不存在,-3源文件图片对象建立失败,-4:水印文件图像对象建立失败,-5:加水印后的新图片保存失败*获取源文件路径、宽高等信息,得出保存后文件保存路径、水印放置位置->建立源文件和水印图片对象->合并图片对象(imagecopymerge)->销毁图片对象*/functionimg_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;}functionimg_water_mark($srcImg,$waterImg,$savepath=null,$savename=null,$position=5,$opacity=50){$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=img_create_from_ext($srcImg);if(!$srcImgObj){return-3;}$waterImgObj=img_create_from_ext($waterImg);if(!$waterImgObj){return-4;}switch($position){case1:$x=$y=0;break;case2:$x=$srcinfo[0]-$waterinfo[0];$y=0;break;case3:$x=($srcinfo[0]-$waterinfo[0])/2;$y=($srcinfo[1]-$waterinfo[1])/2;break;case4:$x=0;$y=$srcinfo[1]-$waterinfo[1];break;case5:$x=$srcinfo[0]-$waterinfo[0];
2024/5/18 15:36:22
3KB
技术
1