ThinkPHP做文字水印时提示call an undefined function exif_imagetype()解决方法
本文实例讲述了ThinkPHP做文字水印时提示callanundefinedfunctionexif_imagetype()解决方法。分享给大家供大家参考。具体如下:
一、问题描述:
ThinkPHP做文字水印,今天做一个电子请帖,就把祝福语贴到图片上面,发现一直报错是取不到图片类型,比如gif,jpg等,并提示callanundefinedfunctionexif_imagetype()。
二、解决方法:
出现这个错误就是php.in配置问题,打开即可:打开扩展extension=php_exif.dll如果再不行就把extension=php_mbstring.dll,放到extension=php_exif.dll前边
注意:extension=php_exif.dll扩展要打开
类文件:wptext_class.php代码如下:
<?php /* PHP添加文字水印类V1.0 作者:YuTiedun 邮箱: 修改日期:2010-03-07 支持图片格式:gif,jpg,png 水印的位置自己根据需要调整 如能修改得更好,请发一份给我 */ classWaterPrint { //类开始 public$text,$color,$size,$font,$angle,$px,$py,$im; //要添加的文字 publicfunctionGetWpText($text) { $this->text=$text; } //添加文字的颜色 publicfunctionGetFtColor($color) { $this->color=$color; } //添加文字的字体 publicfunctionGetFtType($font) { $this->font=$font; } //添加文字的大小 publicfunctionGetFtSize($size) { $this->size=$size; } //文字旋转的角度 publicfunctionGetTtAngle($angle) { $this->angle=$angle; } //添加文字的位置 publicfunctionGetTtPosit() { $this->px=10; $this->py=imagesy($this->im)-20; } //添加文字水印 publicfunctionAddWpText($pict) { $ext=exif_imagetype($pict); switch($ext){ case1: $picext="gif"; $this->im=imagecreatefromgif($pict); break; case2: $picext="jpg"; $this->im=imagecreatefromjpeg($pict); break; case3: $picext="png"; $this->im=imagecreatefrompng($pict); break; default: $this->Errmsg("不支持的文件格式!"); break; } //$this->picext=$picext; $this->GetTtPosit(); $im =$this->im; $size=$this->size; $angle=$this->angle; $px =$this->px; $py =$this->py; $color=$this->color; $font=$this->font; $text=$this->text; $color=imagecolorallocate($im,255,0,0); imagettftext($im,$size,$angle,$px,$py,$color,$font,$text); switch($picext){ case"gif": imagegif($im,$pict); break; case"jpg": imagejpeg($im,$pict,100); break; case"png": imagealphablending($im,false); imagesavealpha($im,true); imagepng($im,$pict); break; } imagedestroy($im); } //错误信息提示 publicfunctionErrmsg($msg) { echo"<scriptlanguage='javascript'>alert('".$msg."');</script>"; } //类结束 } ?>
调用页面:index.php代码如下:
<?php header("Content-type:text/html;charset=gbk"); require("wptext_class.php"); $pict="images/button2.png";//目标图片 //$text="XP/Vista/Win7";//要添加的文字 $text="文字水印测试"; $text=iconv("gb2312","utf-8",$text);//防止中文乱码 $size=20;//文字大小 $font="c:/windows/fonts/arial.ttf";//字体 $angle=0;//旋转角度,逆时针 $wptext=newWaterPrint(); $wptext->GetWpText($text); $wptext->GetFtSize($size); $wptext->GetFtType($font); $wptext->GetTtAngle($angle); $wptext->AddWpText($pict); $wptext=null; ?> <ahref="images/button2.png"target="_blank">查看结果</a>
希望本文所述对大家的ThinkPHP框架程序设计有所帮助。