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框架程序设计有所帮助。