A-A+

PHP简单的图片加水印函数

2012年07月18日 PHP技术文章 暂无评论 阅读 299 views 次

简单的一段图片加水印的PHP函数,以往都是在使用PHP加水印类,其实我们在应用不大的网站上面,可以使用一个简单的函数即可以实现图片加水印,下面是一个图片加水印的函数,源代码没有多少行,支持加入中文水印,自定义水印文字的字体。

在实际应用时,我们只需将其作为一个简单的上传图片功能来用,提交表单接受就可以了,这个函数利用了PHP最基本的上传功能,再加上水印的合成功能,完全可以满足一般的网站需求,字体以及颜色可以自己来定义。

函数说明:

  $imag_url     为要加水印的图片的路径   
  $str              为要在图片上加上的字符串   
  $route           加水印后的存放路径   
  
  function  watermark($imag_url,$str,$route) {     
      $type_array=explode('.',$imag_url);   
      $imag_type=$type_array[count($type_array)-1];   
      switch($imag_type) {   
          case  'gif': $img=imagecreatefromgif($imag_url);  break;   
          case 'jpeg': $img=imagecreatefromjpeg($imag_url); break;   
          case  'jpg': $img=imagecreatefromjpeg($imag_url); break;   
          case  'png': $img=imagecreatefrompng($imag_url);  break;   
              default: $img=imagecreatefromgif($imag_url);  break;   
      }   
    //字体颜色   
    $gray     = imagecolorallocate($img , 235 , 235 , 235);   
    $pink     = imagecolorallocate($img, 255 , 128 , 255);   
    /* $fontfile 字体的路径,视操作系统而定,可以是 simhei.ttf(黑体) , SI
MKAI.TTF(楷体) , SIMFANG.TTF(仿宋) ,SIMSUN.TTC(宋体&新宋体) 等 GD 支持
的中文字体*/  
    $fontfile = "C:\WINDOWS\Fonts\SIMHEI.TTF";   
    $str   = iconv('GB2312','UTF-8',$str);     /*将 gb2312 的字符集
转换成 UTF-8 的字符*/  
    imagettftext($img, 30,0, 0, 200, $pink , $fontfile , $str);   
/* 加入中文水印 */  
    imagepng($img,$route);   
    imagedestroy($img);   
}
标签:

给我留言