手机
当前位置:查字典教程网 >编程开发 >php教程 >ThinkPHP做文字水印时提示call an undefined function exif_imagetype()解决方法
ThinkPHP做文字水印时提示call an undefined function exif_imagetype()解决方法
摘要:本文实例讲述了ThinkPHP做文字水印时提示callanundefinedfunctionexif_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代码如下:

复制代码 代码如下:<?php

/*

PHP添加文字水印类 V1.0

作者:Yu Tiedun

邮箱:

修改日期:2010-03-07

支持图片格式:gif, jpg, png

水印的位置自己根据需要调整

如能修改得更好,请发一份给我

*/

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;

}

//文字旋转的角度

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);

}

//错误信息提示

public function Errmsg($msg)

{

echo "<script language='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 = 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">查看结果</a>

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

【ThinkPHP做文字水印时提示call an undefined function exif_imagetype()解决方法】相关文章:

PHP怎样调用MSSQL的存储过程

一个php作的文本留言本的例子(六)

phplot生成图片类用法详解

php实现读取内存顺序号

用 PHP 构建自定义搜索引擎

PHP 和 MySQL 基础教程(四)

用Socket发送电子邮件

PHP4之COOKIE支持详解

PHP面向对象之后期静态绑定功能介绍

新版mysql+apache+php Linux安装指南

精品推荐
分类导航