PHP   发布时间:2022-04-09  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了php实现给一张图片加上水印效果大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

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

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;
}

/**

@H_874_28@
  • 功能是:返回扩展名
    */
  • function ext($f){
    $exts = explode('.',$f);
    return end($exts);
    }

    /**

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

    以上是大佬教程为你收集整理的php实现给一张图片加上水印效果全部内容,希望文章能够帮你解决php实现给一张图片加上水印效果所遇到的程序开发问题。

    如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

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