当前位置:首页 > PHP教程 > php图像处理 > 列表

php 给图片加上文字水印代码

发布:smiling 来源: PHP粉丝网  添加日期:2014-08-19 16:17:40 浏览: 评论:0 

给图片加水印是很多网站会做的事情,下面这段代码只支持给图片加上文字水印,现在暂时只支持英文的,如果要让此程序能支持中文汉字就把$font=\\\'verdana.ttf\\\';调用一个中文字体就OK了,实例代码如下:

  1. $image=$_get[id]; 
  2. $im=getimagesize($image); 
  3. //print_r($im); 
  4. //以下是读取文字的宽高 
  5. $font='verdana.ttf';//字体 
  6. $font_size = $im[0]/20;//文字大小 
  7. $size=imagettfbbox($font_size,0,$font,'phpfensi.com');//文字宽高 
  8. $textwidth = $size [4];//取出宽 
  9. $textheight = abs$size [7] );//取出高 
  10.  
  11. $pic_w=abs(($im[0]-$textwidth)/2);//文字存放宽的位置 
  12. $pic_h=abs(($im[1]-$textheight)/2);//文字存放高的位置 
  13.  
  14.  switch($im[2])                 
  15. case 1: 
  16. $im=imagecreatefromgif($image); 
  17. break
  18.  
  19. case 2: 
  20. $im=imagecreatefromjpeg($image); 
  21. break
  22.  
  23. case 3: 
  24. $im=imagecreatefrompng($image); 
  25. break
  26. //$logo="2.png";//商标图片 
  27. //$ing=getimagesize($logo); 
  28. // 
  29. // switch($ing[2])                 
  30. // 
  31. //{ 
  32. //case 1: 
  33. //$in=imagecreatefromgif($logo); 
  34. //break; 
  35. // 
  36. //case 2: 
  37. //$in=imagecreatefromjpeg($logo); 
  38. //break; 
  39. // 
  40. //case 3: 
  41. //$in=imagecreatefrompng($logo); 
  42. //break; 
  43. //} 
  44. //imagecopy($im,$in,200,3,0,0,'120','110');//图片合并 
  45.  $te = imagecolorclosestalpha($im,255,255,255,60);//最后一个数值是透明度越大越透明 
  46. $str=iconv("gbk","utf-8","phpfensi.com"); //设置文字的内容和编码,很简单吧 
  47.  
  48. imagettftext($im,$font_size,0,$pic_w,$pic_h,$te,'verdana.ttf',$str); 
  49. //开源代码phpfensi.com 
  50. header("content-type: image/jpeg"); 
  51. imagejpeg($im); 

Tags: php水印 php文字水印

分享到: