ThinkPHP做文字水印時(shí)提示call an undefined function exif_imagetype()解決方法
本文實(shí)例講述了ThinkPHP做文字水印時(shí)提示call an undefined function exif_imagetype()解決方法。分享給大家供大家參考。具體如下:
一、問題描述:
ThinkPHP做文字水印 ,今天做一個(gè)電子請(qǐng)?zhí)?,就把祝福語(yǔ)貼到圖片上面,發(fā)現(xiàn)一直報(bào)錯(cuò)是取不到圖片類型,比如gif,jpg等,并提示call an undefined function exif_imagetype()。
二、解決方法:
出現(xiàn)這個(gè)錯(cuò)誤就是php.in 配置問題,打開即可:打開擴(kuò)展 extension=php_exif.dll 如果再不行就把extension=php_mbstring.dll ,放到extension=php_exif.dll前邊
注意:extension=php_exif.dll 擴(kuò)展要打開
類文件:wptext_class.php代碼如下:
/*
PHP添加文字水印類 V1.0
作者:Yu Tiedun
郵箱:
修改日期:2010-03-07
支持圖片格式:gif, jpg, png
水印的位置自己根據(jù)需要調(diào)整
如能修改得更好,請(qǐng)發(fā)一份給我
*/
class WaterPrint
{
//類開始
public $text, $color, $size, $font, $angle, $px, $py, $im;
//要添加的文字
public function GetWpText($text)
{
$this->text = $text;
}
//添加文字的顏色
public function GetFtColor($color)
{
$this->color = $color;
}
//添加文字的字體
public function GetFtType($font)
{
$this->font = $font;
}
//添加文字的大小
public function GetFtSize($size)
{
$this->size = $size;
}
//文字旋轉(zhuǎn)的角度
public function GetTtAngle($angle)
{
$this->angle = $angle;
}
//添加文字的位置
public function GetTtPosit()
{
$this->px = 10;
$this->py = imagesy($this->im) - 20;
}
//添加文字水印
public function AddWpText($pict)
{
$ext = exif_imagetype($pict);
switch ($ext) {
case 1:
$picext = "gif";
$this->im = imagecreatefromgif($pict);
break;
case 2:
$picext = "jpg";
$this->im = imagecreatefromjpeg($pict);
break;
case 3:
$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);
}
//錯(cuò)誤信息提示
public function Errmsg($msg)
{
echo "<script language='javascript'>alert('".$msg."');</script>";
}
//類結(jié)束
}
?>
調(diào)用頁(yè)面:index.php代碼如下:
header("Content-type: text/html; charset=gbk");
require("wptext_class.php");
$pict = "images/button2.png"; //目標(biāo)圖片
//$text = "XP/Vista/Win7"; //要添加的文字
$text = "文字水印測(cè)試";
$text = iconv("gb2312","utf-8",$text); //防止中文亂碼
$size = 20; //文字大小
$font = "c:/windows/fonts/arial.ttf"; //字體
$angle = 0; //旋轉(zhuǎn)角度,逆時(shí)針
$wptext = new WaterPrint();
$wptext->GetWpText($text);
$wptext->GetFtSize($size);
$wptext->GetFtType($font);
$wptext->GetTtAngle($angle);
$wptext->AddWpText($pict);
$wptext = null;
?>
<a href="images/button2.png" target="_blank">查看結(jié)果</a>
希望本文所述對(duì)大家的ThinkPHP框架程序設(shè)計(jì)有所幫助。
相關(guān)文章
如何使用php腳本給html中引用的js和css路徑打上版本號(hào)
這篇文章主要介紹了如何使用php腳本給html中引用的js和css路徑打上版本號(hào),打版本號(hào)有個(gè)好處就是可以解決外部應(yīng)用文件實(shí)時(shí)更新問題,喜歡的朋友一起看看全文吧2015-11-11
Laravel用戶授權(quán)系統(tǒng)的使用方法示例
這篇文章主要給大家介紹了關(guān)于Laravel用戶授權(quán)系統(tǒng)使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-09-09
thinkphp5.1 中使用自定義異常處理類進(jìn)行接管
這篇文章主要介紹了thinkphp5.1 中使用自定義異常處理類進(jìn)行接管,本文通過配置文件的修改和具體代碼實(shí)現(xiàn)詳細(xì)展開的講解了如何使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07
thinkphp5實(shí)現(xiàn)無限級(jí)分類
這篇文章主要為大家詳細(xì)介紹了thinkphp5實(shí)現(xiàn)無限級(jí)分類,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-02-02

