当前位置:首页 > CMS教程 > Thinkphp > 列表

ThinkPHP做文字水印时提示call an undefined function exif_imagetype()解决方法

发布:smiling 来源: PHP粉丝网  添加日期:2021-04-19 19:30:35 浏览: 评论:0 

这篇文章主要介绍了ThinkPHP做文字水印时提示call an undefined function exif_imagetype()解决方法,是项目开发中非常实用的技巧,需要的朋友可以参考下

本文实例讲述了ThinkPHP做文字水印时提示call an undefined function exif_imagetype()解决方法。分享给大家供大家参考。具体如下:

一、问题描述:

ThinkPHP做文字水印 ,今天做一个电子请帖,就把祝福语贴到图片上面,发现一直报错是取不到图片类型,比如gif,jpg等,并提示call an undefined function exif_imagetype()。

二、解决方法:

出现这个错误就是php.in 配置问题,打开即可:打开扩展 extension=php_exif.dll 如果再不行就把extension=php_mbstring.dll ,放到extension=php_exif.dll前边

注意:extension=php_exif.dll 扩展要打开

类文件:wptext_class.php代码如下:

  1. <?php 
  2. /* 
  3. PHP添加文字水印类 V1.0 
  4. 作者:Yu Tiedun 
  5. 邮箱: 
  6. 修改日期:2010-03-07 
  7. 支持图片格式:gif, jpg, png 
  8. 水印的位置自己根据需要调整 
  9. 如能修改得更好,请发一份给我 
  10. */ 
  11. class WaterPrint 
  12. //类开始 
  13.     public $text$color$size$font$angle$px$py$im
  14. //要添加的文字 
  15. public function GetWpText($text
  16.    $this->text = $text
  17. //添加文字的颜色 
  18. public function GetFtColor($color
  19.    $this->color = $color
  20. //添加文字的字体 
  21. public function GetFtType($font
  22.    $this->font = $font
  23.  
  24. //添加文字的大小 
  25. public function GetFtSize($size
  26.    $this->size = $size
  27. //文字旋转的角度 
  28. public function GetTtAngle($angle
  29.    $this->angle = $angle
  30. //添加文字的位置 
  31. public function GetTtPosit() 
  32.    $this->px = 10; 
  33.    $this->py = imagesy($this->im) - 20; 
  34. //添加文字水印 
  35. public function AddWpText($pict
  36.    $ext = exif_imagetype($pict); 
  37.     switch ($ext) { 
  38.    case 1: 
  39.    $picext = "gif"
  40.     $this->im = imagecreatefromgif($pict); 
  41.     break
  42.    case 2: 
  43.    $picext = "jpg"
  44.     $this->im = imagecreatefromjpeg($pict); 
  45.     break
  46.    case 3: 
  47.    $picext = "png"
  48.     $this->im = imagecreatefrompng($pict); 
  49.     break
  50.    default
  51.    $this->Errmsg("不支持的文件格式!"); 
  52.     break
  53.    } 
  54.    //$this->picext = $picext; 
  55.    $this->GetTtPosit(); 
  56.    $im   = $this->im; 
  57.    $size = $this->size; 
  58.    $angle$this->angle; 
  59.    $px   = $this->px; 
  60.    $py   = $this->py; 
  61.    $color$this->color; 
  62.    $font = $this->font; 
  63.    $text = $this->text; 
  64.    $color= imagecolorallocate($im, 255, 0, 0); 
  65.    imagettftext($im$size$angle$px$py$color$font$text); 
  66.    switch ($picext) { 
  67.    case "gif"
  68.    imagegif($im$pict); 
  69.     break
  70.    case "jpg"
  71.    imagejpeg($im$pict, 100); 
  72.     break
  73.    case "png"
  74.       imagealphablending($im, false); 
  75.         imagesavealpha($im, true); 
  76.        imagepng($im$pict); 
  77.     break
  78.    } 
  79.    imagedestroy($im); 
  80. }//www.phpfensi.com 
  81. //错误信息提示 
  82. public function Errmsg($msg
  83.     echo "<script language='javascript'>alert('".$msg."');</script>"
  84. //类结束 
  85. ?> 

调用页面:index.php代码如下:

  1. <?php 
  2. header("Content-type: text/html; charset=gbk"); 
  3. require("wptext_class.php"); 
  4. $pict = "images/button2.png"//目标图片 
  5. //$text = "XP/Vista/Win7"; //要添加的文字 
  6. $text = "文字水印测试"
  7. $text = iconv("gb2312","utf-8",$text); //防止中文乱码 
  8. $size = 20; //文字大小 
  9. $font = "c:/windows/fonts/arial.ttf"//字体 
  10. $angle = 0; //旋转角度,逆时针 
  11. $wptext = new WaterPrint(); 
  12. $wptext->GetWpText($text); 
  13. $wptext->GetFtSize($size); 
  14. $wptext->GetFtType($font); 
  15. $wptext->GetTtAngle($angle); 
  16. $wptext->AddWpText($pict); 
  17. $wptext = null; 
  18. ?> 
  19. <a href="images/button2.png" target="_blank">查看结果</a> 

希望本文所述对大家的ThinkPHP框架程序设计有所帮助。

Tags: undefined function exif_imagetype

分享到: