php 给图片加上文字水印代码
给图片加水印是很多网站会做的事情,下面这段代码只支持给图片加上文字水印,现在暂时只支持英文的,如果要让此程序能支持中文汉字就把$font=\\\'verdana.ttf\\\';调用一个中文字体就OK了,实例代码如下:
- $image=$_get[id];
 - $im=getimagesize($image);
 - //print_r($im);
 - //以下是读取文字的宽高
 - $font='verdana.ttf';//字体
 - $font_size = $im[0]/20;//文字大小
 - $size=imagettfbbox($font_size,0,$font,'phpfensi.com');//文字宽高
 - $textwidth = $size [4];//取出宽
 - $textheight = abs( $size [7] );//取出高
 - $pic_w=abs(($im[0]-$textwidth)/2);//文字存放宽的位置
 - $pic_h=abs(($im[1]-$textheight)/2);//文字存放高的位置
 - switch($im[2])
 - {
 - case 1:
 - $im=imagecreatefromgif($image);
 - break;
 - case 2:
 - $im=imagecreatefromjpeg($image);
 - break;
 - case 3:
 - $im=imagecreatefrompng($image);
 - break;
 - }
 - //$logo="2.png";//商标图片
 - //$ing=getimagesize($logo);
 - //
 - // switch($ing[2])
 - //
 - //{
 - //case 1:
 - //$in=imagecreatefromgif($logo);
 - //break;
 - //
 - //case 2:
 - //$in=imagecreatefromjpeg($logo);
 - //break;
 - //
 - //case 3:
 - //$in=imagecreatefrompng($logo);
 - //break;
 - //}
 - //imagecopy($im,$in,200,3,0,0,'120','110');//图片合并
 - $te = imagecolorclosestalpha($im,255,255,255,60);//最后一个数值是透明度越大越透明
 - $str=iconv("gbk","utf-8","phpfensi.com"); //设置文字的内容和编码,很简单吧
 - imagettftext($im,$font_size,0,$pic_w,$pic_h,$te,'verdana.ttf',$str);
 - //开源代码phpfensi.com
 - header("content-type: image/jpeg");
 - imagejpeg($im);