php实现给一张图片加上水印效果

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php实现给一张图片加上水印效果脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

PHP实现给一张图片加上水印效果

<PRe class="brush:PHp;"> <>PHP /** * 功能:给一张图片加上水印效果 * $i 要加水印效果图片 * $t 水印文字 * $size 文字大小 * $pos 水印的位置 * $color 文字的颜色 * $flag 是布尔值,主要用来区分是不是原图上加水印 * $tyPE 如果$flag等于false 则新图上加上水印 新文件名为 原名_txt.jpg */ function txt($i,$t='版权所有',$size=25,$pos=5,$color='rand',$flag=true,$type='_txt'){ $img = imagecreatefromjpeg($i); $w = imagesx($img); $h = imagesy($img); $font = dirname(__FILE__).'/font/ls.ttf'; $ps = imagettfbBox($size,$font,$t); $tw = $ps[4]; $th = abs($ps[5]); swITch($pos){ case 1:break; case 2:break; case 3:break; case 4:break; case 5:$x=($w-$tw)/2;$y=($h-$th)/2+$th;break; case 6:break; case 7:break; case 8:break; case 9:break; default:break; } $c = getcolor($img,$color); imagettftext($img,$size,$x,$y,$c,$t); if($flag){ imagejpeg($img,$i); }else{ $ext = ext($i); $ppp = rtrim($i,'.'.$ext); $ppp = $ppp.$type.'.'.$ext; imagejpeg($img,$ppp); } }

function getcolor($i,$c='rand',$a=50){
$cc = '';
switch($c){
case 'white':$cc=imagecolorallocatealpha($i,255,$a);break;
case 'black':$cc=imagecolorallocatealpha($i,$a);break;
case 'red':$cc=imagecolorallocatealpha($i,$a);break;
case 'green':$cc=imagecolorallocatealpha($i,$a);break;
case 'blue':$cc=imagecolorallocatealpha($i,$a);break;
case 'orange':$cc=imagecolorallocatealpha($i,0xff,0x66,0x33,$a);break;
case 'yellow':$cc=imagecolorallocatealpha($i,$a);break;
case 'rand':$cc=imagecolorallocatealpha($i,mt_rand(0,255),$a);break;
default:
$cs = substr($c,1);
$ok = str_split($cs,2);
$cc = imagecolorallocatealpha($i,hexdec($ok[0]),hexdec($ok[1]),hexdec($ok[2]),$a);
break;
}
return $cc;
}

/**

  • 功能是:返回扩展名
    */

function ext($f){
$exts = explode('.',$f);
return end($exts);
}

/**

  • 功能是:返回文件名,不含扩展名
    */
    function name($f){
    $s = explode('/',$f);
    $fn = end($s);
    return rtrim($fn,'.'.ext($f));
    }

脚本宝典总结

以上是脚本宝典为你收集整理的php实现给一张图片加上水印效果全部内容,希望文章能够帮你解决php实现给一张图片加上水印效果所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: