国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

php實(shí)現(xiàn)圖片添加文字水印程序代碼

2024-09-04 11:44:29
字體:
供稿:網(wǎng)友

使用過dedecms的朋友就會發(fā)現(xiàn)它可以實(shí)現(xiàn)圖片上加圖片水印也可以直接實(shí)現(xiàn)圖片上加文本水印了,下面我來給大家介紹的是圖片上加文字水印的方法,希望例子能幫助到各位.

php實(shí)現(xiàn)圖片添加文字水印程序代碼如下:

  1. /*PHP圖片加文字水印類庫 
  2. 該類庫暫時(shí)只支持文字水印,位置為右下角,顏色隨機(jī) 
  3. 調(diào)用方法: 
  4. 1、在需要加水印的文件頂部引入類庫: 
  5. include_once 'imageClass.php'; 
  6. 2、聲明新類: 
  7. $tpl=new image_fu; 
  8. 3、給圖片水印提供參數(shù): 
  9. $tpl->img(圖片路徑,水印文字,字體路徑,字體大小,字體角度); 
  10. 比如:$tpl->img('abc.jpg','這是水印文字','ziti.ttf',30,0) 
  11. */ 
  12. //watermark.php 
  13. <?php 
  14. class image_fu{ 
  15. private $image
  16. private $img_info
  17. private $img_width
  18. private $img_height
  19. private $img_im
  20. private $img_text
  21. private $img_ttf=''
  22. private $img_new
  23. private $img_text_size
  24. private $img_jd
  25. function img($img='',$txt='',$ttf='',$size=12,$jiaodu=0){ 
  26. if(isset($img)&&file_exists($img)){//檢測圖片是否存在 
  27. $this->image   =$img
  28. $this->img_text=$txt
  29. $this->img_text_size=$size
  30. $this->img_jd=$jiaodu
  31. if(file_exists($ttf)){ 
  32. $this->img_ttf=$ttf
  33. }else
  34. exit('字體文件:'.$ttf.'不存在!'); 
  35. $this->imgyesno(); 
  36. }else
  37. exit('圖片文件:'.$img.'不存在'); 
  38. private function imgyesno(){ 
  39. $this->img_info  =getimagesize($this->image); 
  40. $this->img_width =$this->img_info[0];//圖片寬 
  41. $this->img_height=$this->img_info[1];//圖片高 
  42. //檢測圖片類型 
  43. switch($this->img_info[2]){ 
  44. case 1:$this->img_im = imagecreatefromgif($this->image);break
  45. case 2:$this->img_im = imagecreatefromjpeg($this->image);break
  46. case 3:$this->img_im = imagecreatefrompng($this->image);break
  47. default:exit('圖片格式不支持水印'); 
  48. }//開源代碼Vevb.com 
  49. $this->img_text(); 
  50. private function img_text(){ 
  51. imagealphablending($this->img_im,true); 
  52. //設(shè)定顏色 
  53. $color=imagecolorallocate($this->img_im,rand(0,255),rand(0,255),rand(0,255)); 
  54. $txt_height=$this->img_text_size; 
  55. $txt_jiaodu=$this->img_jd; 
  56. $ttf_im=imagettfbbox($txt_height,$txt_jiaodu,$this->img_ttf,$this->img_text); 
  57. $w = $ttf_im[2] - $ttf_im[6]; 
  58. $h = $ttf_im[3] - $ttf_im[7]; 
  59. //$w = $ttf_im[7]; 
  60. //$h = $ttf_im[8]; 
  61. unset($ttf_im); 
  62. $txt_y     =$this->img_height-$h
  63. $txt_x     =$this->img_width-$w
  64. //$txt_y     =0; 
  65. //$txt_x     =0; 
  66. $this->img_new=@imagettftext($this->img_im,$txt_height,$txt_jiaodu,$txt_x,$txt_y,$color
  67. $this->img_ttf,$this->img_text); 
  68. @unlink($this->image);//刪除圖片 
  69. switch($this->img_info[2]) {//取得背景圖片的格式 
  70. case 1:imagegif($this->img_im,$this->image);break
  71. case 2:imagejpeg($this->img_im,$this->image);break
  72. case 3:imagepng($this->img_im,$this->image);break
  73. defaultexit('水印圖片失敗'); 
  74. //顯示圖片 
  75. function img_show(){echo '<img src="'.$this->image.'" border="0" alt="'.$this->img_text.'" />';} 
  76. //釋放內(nèi)存 
  77. private function img_nothing(){ 
  78. unset($this->img_info); 
  79. imagedestroy($this->img_im); 
  80. $addwk    =    new image_fu(); 
  81. $addwk->img('2.jpg','testwatermark','華康少女字體.ttf',33,0); 
  82. $addwk->img_show();   //調(diào)用顯示圖片 

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 永昌县| 宜君县| 集安市| 万载县| 蕲春县| 海淀区| 南安市| 齐齐哈尔市| 永吉县| 辛集市| 高安市| 新野县| 盐边县| 丰城市| 盐津县| 塘沽区| 遂溪县| 黔南| 开鲁县| 伊通| 板桥市| 盱眙县| 海伦市| 南岸区| 锦州市| 广河县| 双江| 嘉义县| 岳池县| 昆明市| 北川| 朝阳市| 天津市| 闻喜县| 高州市| 平潭县| 咸阳市| 彭山县| 子洲县| 仁怀市| 黑河市|