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


Posted in PHP onOctober 30, 2014

本文实例讲述了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框架程序设计有所帮助。

PHP 相关文章推荐
substr()函数中文版
Oct 09 PHP
全局记录程序片段的运行时间 正确找到程序逻辑耗时多的断点
Jan 06 PHP
Drupal7 form表单二次开发要点与实例
Mar 02 PHP
ThinkPHP的URL重写问题
Jun 22 PHP
php简单实现无限分类树形列表的方法
Mar 27 PHP
Yii rules常用规则示例
Mar 15 PHP
PHP全功能无变形图片裁剪操作类与用法示例
Jan 10 PHP
Windows 下安装 swoole 图文教程(php)
Jun 05 PHP
php记录搜索引擎爬行记录的实现代码
Mar 02 PHP
PHP实现的超长文本分页显示功能示例
Jun 04 PHP
Yii框架连表查询操作示例
Sep 06 PHP
浅谈PHP中的那些魔术常量
Dec 02 PHP
用 Composer构建自己的 PHP 框架之基础准备
Oct 30 #PHP
thinkphp视图模型查询提示ERR: 1146:Table 'db.pr_order_view' doesn't exist的解决方法
Oct 30 #PHP
仿dedecms下拉分页样式修改的thinkphp分页类实例
Oct 30 #PHP
thinkphp中html:list标签传递多个参数实例
Oct 30 #PHP
如何让CI框架支持service层
Oct 29 #PHP
使用array_map简单搞定PHP删除文件、删除目录
Oct 29 #PHP
PHPUnit安装及使用示例
Oct 29 #PHP
You might like
初探PHP5
2006/10/09 PHP
浅析php适配器模式(Adapter)
2014/11/25 PHP
php通过正则表达式记取数据来读取xml的方法
2015/03/09 PHP
php array_merge_recursive 数组合并
2016/10/26 PHP
php实现文件与16进制相互转换的方法示例
2017/02/16 PHP
刷新页面实现方式总结(HTML,ASP,JS)
2008/11/13 Javascript
在IE,Firefox,Safari,Chrome,Opera浏览器上调试javascript
2008/12/02 Javascript
javascript中的self和this用法小结
2014/02/08 Javascript
使用正则表达式的格式化与高亮显示json字符串
2014/12/03 Javascript
javascript实现依次输入input自动定焦
2014/12/23 Javascript
js判断是否按下了Shift键的方法
2015/01/27 Javascript
jQuery处理json数据返回数组和输出的方法
2015/03/11 Javascript
jQuery+Ajax实现无刷新操作
2016/01/04 Javascript
JS用斜率判断鼠标进入DIV四个方向的方法
2016/11/07 Javascript
jQuery实现字体颜色渐变效果的方法
2017/03/29 jQuery
JS实现transform实现扇子效果
2020/01/17 Javascript
微信小程序返回上一级页面的实现代码
2020/06/19 Javascript
JS实现炫酷雪花飘落效果
2020/08/19 Javascript
[01:42]TI4西雅图DOTA2前线报道 第一顿早饭哦
2014/07/08 DOTA
[02:56]《DAC最前线》之国外战队抵达上海备战亚洲邀请赛
2015/01/28 DOTA
详解Appium+Python之生成html测试报告
2019/01/04 Python
使用python3调用wxpy模块监控linux日志并定时发送消息给群组或好友
2019/06/05 Python
Flask框架重定向,错误显示,Responses响应及Sessions会话操作示例
2019/08/01 Python
捷克电器和DJ设备网上商店:Electronic-star
2017/07/18 全球购物
database面试题
2013/03/28 面试题
2014年文艺部工作总结
2014/11/17 职场文书
2014年法务工作总结
2014/12/11 职场文书
语文复习计划
2015/01/19 职场文书
导游词格式
2015/02/13 职场文书
2015年初三班主任工作总结
2015/05/21 职场文书
学校证明范文
2015/06/24 职场文书
祝福语集锦:送给闺蜜的生日祝福语
2019/10/08 职场文书
python3 hdf5文件 遍历代码
2021/05/19 Python
MySQL 8.0 之不可见列的基本操作
2021/05/20 MySQL
SQL中的三种去重方法小结
2021/11/01 SQL Server
vue 实现弹窗关闭后刷新效果
2022/04/08 Vue.js