ThinkPHP做文字水印时提示call an undefined function exif_imagetype()解决方法,
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添加文字水印类 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 "";
}
//类结束
}
?>
调用页面:index.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;
?>
查看结果
希望本文所述对大家的ThinkPHP框架程序设计有所帮助。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











一部のアプリケーションが適切に機能しないようにする会社のセキュリティソフトウェアのトラブルシューティングとソリューション。多くの企業は、内部ネットワークセキュリティを確保するためにセキュリティソフトウェアを展開します。 ...

Centos環境にMinioを展開する際のCentosシステムに基づくMinioインストールの許可問題とソリューション、許可の問題は一般的な問題です。この記事では、ミニオのインストールと構成をスムーズに完了するのに役立ついくつかの一般的な許可問題とそのソリューションを紹介します。デフォルトのアカウントとパスワードを変更する:環境変数MINIO_ROOT_USERとMINIO_ROOT_PASSWORDを設定して、デフォルトのユーザー名とパスワードを変更できます。変更後、Minioサービスの再起動が有効になります。バケットアクセス権限の構成:バケットを公開に設定すると、ディレクトリが移動され、セキュリティリスクが発生します。バケットアクセスポリシーをカスタマイズすることをお勧めします。 Minioを使用できます

PHPMyAdminを使用して、PHPプロジェクトでデータベースを作成できます。特定の手順は次のとおりです。PHPMyAdminにログインし、[新しい]ボタンをクリックします。作成するデータベースの名前を入力し、MySQLネーミングルールに準拠していることに注意してください。 UTF-8などの文字セットを設定して、文字化けの問題を回避します。

Redisメモリの急上昇には、データ量が大きすぎる、データ構造の選択、構成の問題(Maxmemory設定が小さすぎるなど)、およびメモリリークが含まれます。ソリューションには、期限切れのデータの削除、圧縮技術の使用、適切な構造の選択、構成パラメーターの調整、コードのメモリリークのチェック、およびメモリ使用量の定期的な監視が含まれます。

次の手順を使用して、NAVICATがデータベースに接続できない問題を解決できます。サーバー接続を確認し、サーバーが実行されていることを確認、アドレス指定、ポートを正しく確認し、ファイアウォールにより接続を許可します。ログイン情報を確認し、ユーザー名、パスワード、許可が正しいことを確認します。ネットワーク接続を確認し、ルーターやファイアウォールの障害などのネットワークの問題をトラブルシューティングします。一部のサーバーでサポートされていない場合があるSSL接続を無効にします。データベースバージョンをチェックして、NAVICATバージョンがターゲットデータベースと互換性があることを確認してください。接続タイムアウトを調整し、リモートまたは遅い接続の場合は、接続タイムアウトタイムアウトを増やします。その他の回避策は、上記の手順が機能していない場合は、別の接続ドライバーを使用してソフトウェアを再起動したり、データベース管理者または公式NAVICATサポートに相談したりすることができます。

Hadoop分散ファイルシステム(HDFS)構成の一般的な問題とソリューションは、CentOSにHadoophDFSクラスターを構築する際に、パフォーマンスの劣化、データの損失、さらにはクラスターが開始できない場合があります。この記事では、これらの一般的な問題とそのソリューションをまとめて、これらの落とし穴を回避し、HDFSクラスターの安定性と効率的な動作を確保します。ラックアウェア構成エラー:問題:ラックアウェア情報が正しく構成されていないため、データブロックレプリカの不均一な分布とネットワーク負荷が増加します。解決策:hdfs-site.xmlファイルでラックアウェア構成を再確認し、hdfsdfsadmin-printtopoを使用します

Redisメモリの断片化とは、再割り当てできない割り当てられたメモリ内に小さな自由領域の存在を指します。対処戦略には、Redisの再起動:メモリを完全にクリアしますが、サービスを割り当てます。データ構造の最適化:Redisに適した構造を使用して、メモリの割り当てとリリースの数を減らします。構成パラメーターの調整:ポリシーを使用して、最近使用されていないキー価値ペアを排除します。永続性メカニズムを使用します:データを定期的にバックアップし、Redisを再起動してフラグメントをクリーンアップします。メモリの使用量を監視する:問題をタイムリーに発見し、対策を講じる。

VSコードはWindows 8で実行できますが、エクスペリエンスは大きくない場合があります。まず、システムが最新のパッチに更新されていることを確認してから、システムアーキテクチャに一致するVSコードインストールパッケージをダウンロードして、プロンプトとしてインストールします。インストール後、一部の拡張機能はWindows 8と互換性があり、代替拡張機能を探すか、仮想マシンで新しいWindowsシステムを使用する必要があることに注意してください。必要な拡張機能をインストールして、適切に動作するかどうかを確認します。 Windows 8ではVSコードは実行可能ですが、開発エクスペリエンスとセキュリティを向上させるために、新しいWindowsシステムにアップグレードすることをお勧めします。
