ThinkPHP做文字水印时提示call an undefined function exif_imagetype()解决方法
发布:smiling 来源: PHP粉丝网 添加日期:2021-04-19 19:30:35 浏览: 评论:0
这篇文章主要介绍了ThinkPHP做文字水印时提示call an undefined function exif_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);
- }//www.phpfensi.com
- //错误信息提示
- 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框架程序设计有所帮助。
Tags: undefined function exif_imagetype
相关文章
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)