• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

php实现图片添加水印功能_php实例

php 搞代码 4年前 (2022-01-25) 9次浏览 已收录 0个评论
<?php<BR>/**<BR> * 图片加水印(适用于png/jpg/gif格式)<BR> * <BR> * @author flynetcn<BR> *<BR> * @param $srcImg 原图片<BR> * @param $waterImg 水印图片<BR> * @param $savepath 保存路径<BR> * @param $savename 保存名字<BR> * @param $positon 水印位置 <BR> * 1:顶部居左, 2:顶部居右, 3:居中, 4:底部局左, 5:底部居右 <BR> * @param $alpha 透明度 -- 0:完全透明, 100:完全不透明<BR> * <BR> * @return 成功 -- 加水印后的新图片地址<BR> *          失败 -- -1:原文件不存在, -2:水印图片不存在, -3:原文件图像对象建立失败<BR> *          -4:水印文件图像对象建立失败 -5:加水印后的新图片保存失败<BR> */<BR>function img_water_mark($srcImg, $waterImg, $savepath=null, $savename=null, $positon=5, $alpha=30)<BR>{<BR>    $temp = pathinfo($srcImg);<BR>    $name = $temp['basename'];<BR>    $path = $temp['dirname'];<BR>    $exte = $temp['extension'];<BR>    $savename = $savename ? $savename : $name;<BR>    $savepath = $savepath ? $savepath : $path;<BR>    $savefile = $savepath .'/'. $savename;<BR>    $srcinfo = @getimagesize($srcImg);<BR>    if (!$srcinfo) {<BR>        return -1; //原文件不存在<BR>    }<BR>    $waterinfo = @getimagesize($waterImg);<BR>    if (!$waterinfo) {<BR>        return -2; //水印图片不存在<BR>    }<BR>    $srcImgObj = image_create_from_ext($srcImg);<BR>    if (!$srcImgObj) {<BR>        return -3; //原文件图像对象建立失败<BR>    }<BR>    $waterImgObj = image_create_from_ext($waterImg);<BR>    if (!$waterImgObj) {<BR>        return -4; //水印文件图像对象建立失败<BR>    }<BR>    switch ($positon) {<BR>    //1顶部居左<BR>    case 1: $x=$y=0; break;<BR>    //2顶部居右<BR>    case 2: $x = $srcinfo[0]-$waterinfo[0]; $y = 0; break;<BR>    //3居中<BR>    case 3: $x = ($srcinfo[0]-$waterinfo[0])/2; $y = ($srcinfo[1]-$waterinfo[1])/2; break;<BR>    //4底部居左<BR>    case 4: $x = 0; $y = $srcinfo[1]-$waterinfo[1]; break;<BR>    //5底部居右<BR>    case 5: $x = $srcinfo[0]-$waterinfo[0]; $y = $srcinfo[1]-$waterinfo[1]; break;<BR>    default: $x=$y=0;<BR>    }<BR>    imagecopymerge($srcImgObj, $<div style="color:transparent">!本文来源gaodai.ma#com搞##代!^码网(</div><sup>搞gaodaima代码</sup>waterImgObj, $x, $y, 0, 0, $waterinfo[0], $waterinfo[1], $alpha);<BR>    switch ($srcinfo[2]) {<BR>    case 1: imagegif($srcImgObj, $savefile); break;<BR>    case 2: imagejpeg($srcImgObj, $savefile); break;<BR>    case 3: imagepng($srcImgObj, $savefile); break;<BR>    default: return -5; //保存失败<BR>    }<BR>    imagedestroy($srcImgObj);<BR>    imagedestroy($waterImgObj);<BR>    return $savefile;<BR>}</P><P><BR>function image_create_from_ext($imgfile)<BR>{<BR>    $info = getimagesize($imgfile);<BR>    $im = null;<BR>    switch ($info[2]) {<BR>    case 1: $im=imagecreatefromgif($imgfile); break;<BR>    case 2: $im=imagecreatefromjpeg($imgfile); break;<BR>    case 3: $im=imagecreatefrompng($imgfile); break;<BR>    }<BR>    return $im;<BR>}<BR>

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:php实现图片添加水印功能_php实例
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址