検索
ホームページバックエンド開発PHPチュートリアルPHP は GD ライブラリを使用して検証コードを生成し、画像上に漢字を描画します

PHP は HTML 出力の作成に限定されず、GIF、PNG、JPEG、WBMP、XPM などのさまざまな形式の画像を作成および処理することもできます。 さらに便利なことに、PHP は画像データ ストリームをブラウザに直接出力できます。 PHP で画像処理関数を使用するには、次のことが必要です。 GD PHP をコンパイルするためのライブラリ。 GD ライブラリと PHP では、処理する画像形式に応じて、他のライブラリが必要になる場合があります。 PHP の画像関数を使用すると、JPEG、GIF、PNG、SWF、TIFF、JPEG2000 形式の画像のサイズを取得できます。ユニオンの場合 exif 拡張子を併用すると、JPEG および TIFF 画像ファイルのヘッダーに保存されている情報を操作して、デジタル カメラで生成されたメタデータを取得できます。 Exif関連の機能はGDライブラリがなくても使用できます。

phpinfo.php を使用して、GD ライブラリのインストール構成情報を取得できます:


GD がサポートする形式

jpegpngTRUE
フォーマット をサポート読み取りesupportwriting notes
true true gd1.8+TRUE TRUE GD 1.8+
PNG TRUE TRUE  
GIF TRUE TRUE GD 1.6 和 GD 2.0.28 之间的版本不支持
XBM TRUE TRUE PHP 4.0.1 开始支持读取,PHP 5.0.0 开始支持写入
XPM TRUE FALSE PHP 4.0.1 开始支持读取。Windows 平台上不可用。需要 PHP 绑定的 GD 库
WBMP TRUE TRUE GD 1.8+
WebP TRUE TRUE
🎜TRUE🎜🎜🎜🎜🎜🎜GIF🎜🎜TRUE🎜🎜TRUE🎜🎜GD 1.6 および GD 2.0 .28 間のバージョンはサポートされていません🎜🎜🎜🎜 書き込み🎜🎜🎜🎜 Windows プラットフォームでは利用できません。 PHP バインディングを必要とする GD ライブラリ🎜🎜🎜🎜WBMP🎜🎜TRUE🎜🎜TRUE🎜🎜GD 1.8+🎜🎜🎜🎜WebP🎜🎜TRUE code >🎜🎜<code>TRUE🎜🎜GD 2.1+、PHP 5.5+🎜🎜🎜🎜

GDと画像処理機能

?gd_info — 現在インストールされている GD ライブラリに関する情報を取得します
?getimagesize — 画像サイズを取得します
?getimagesizefromstring — 文字列から画像サイズ情報を取得します
?image_type_to_extension — 画像タイプのファイル接尾辞を取得します
?image_type_to_mime_type — getimagesize を取得します、 exif_read_data 、 exif_t​​humbnail、 exif_imagetype 返される画像タイプの MIME タイプ
?image2wbmp — 画像をブラウザまたは WBMP 形式でファイルに出力します
?imageaffine — アフィン変換後の画像を、オプションのクリッピング領域を含めて返します
?imageaffinematrixconcat — 2 つの行列を連結します(一度に多くの操作を実行する場合と同様)
?imageaffinematrixget — オプションのクリッピング領域を使用して、アフィン変換された src 画像を含む画像を返します
?imagealphablending — 画像のブレンド モードを設定します
?imageantialias — アンチエイリアスを使用するかどうか( アンチエイリアス) 関数
?imagearc — 楕円弧を描画します
?imagechar — 文字を水平に描画します
?imagecharup — 文字を垂直に描画します
?imagecolorallocate — 画像に色を割り当てます
?imagecolorallocatealpha — 画像に色 + アルファを割り当てます
?imagecolorat — 特定のピクセルのカラー インデックス値を取得します
?imagecolorclosest — 指定した色に最も近い色のインデックス値を取得します
?imagecolorclosestalpha — 指定した色に最も近い色と透明度を取得します
?imagecolorclosesthwb — 指定された色を取得しますcolor 彩度に最も近い色の白黒インデックス
?imagecolordeallocate — 画像の色の割り当てをキャンセルします
?imagecolorexact — 指定した色のインデックス値を取得します
?imagecolorexactalpha — 指定した色に透明度を加えたインデックス値を取得します
?imagecolormatch — 画像を作成します 中間パレット バージョンの色がトゥルー カラー バージョンによりよく一致します
?imagecolorresolve — 指定された色のインデックス値または可能な限り最も近い代替値を取得します
?imagecolorresolvealpha — 指定された色のインデックス値を取得します +アルファまたは可能な値 最も近い置換値
?imagecolorset — 指定したパレット インデックスの色を設定します
?imagecolorsforindex — インデックスの色を取得します
?imagecolorstotal — 画像のパレット内の色の数を取得します
?imagecolortransparent — 変換特定の色を透明色として定義します
?imageconvolution — 係数 div と offset を使用して 3x3 の畳み込み行列を適用します
?imagecopy — 画像の一部をコピーします
?imagecopymerge — 画像の一部をコピーしてマージします
?imagecopymergegray —画像の一部をコピーしてグレースケールと結合する
?imagecopyresampled — 画像の一部をリサンプリングし、サイズを変更する
?imagecopyresize — 画像の一部をコピーし、サイズを変更する
?imagecreate — 新しいパレットベースの画像を作成する
?imagecreatefromgd2 — GD2 ファイルまたは URL から新しい画像を作成します
?imagecreatefromgd2part — 指定された GD2 ファイルまたは URL の一部から新しい画像を作成します
?imagecreatefromgd — GD ファイルまたは URL から新しい画像を作成します
?imagecreatefromgif — 新しい画像を作成しますファイルまたは URL から。
?imagecreatefromjpeg — ファイルまたは URL から新しい画像を作成します。
?imagecreatefrompng — ファイルまたは URL から新しい画像を作成します。
?imagecreatefromstring — 文字列内の画像ストリームから新しい画像を作成します。
?imagecreatefromwbmp — ファイルまたは URL から新しい画像を作成します。
?imagecreatefromwebp — ファイルまたは URL から新しい画像を作成します。
?imagecreatefromxbm — ファイルまたは URL から新しい画像を作成します。
?imagecreatefromxpm — ファイルまたは URL から新しい画像を作成します。
?imagecreatetruecolor — 新しいトゥルー カラー イメージを作成します
?imagecrop — 指定された座標とサイズ、x、y、幅、高さを使用して画像をトリミングします
?imagecropauto — 利用可能なモードの 1 つを使用して画像を自動的にトリミングします
?imagedashedline — 描画1 つの破線
?imagedestroy — 画像を破棄します
?imageellipse — 楕円を描画します
?imagefill — 領域を塗りつぶします
?imagefilledarc — 楕円の弧を描いて塗りつぶします
?imagefilledellipse — 楕円を描いて塗りつぶします
?imagefilledpolygon — を描画します多角形を描いて塗りつぶします
?imagefilledrectangle — 長方形を描いて塗りつぶします
?imagefilltoborder — 指定した色の境界線まで領域を塗りつぶします
?imagefilter — 画像にフィルタを適用します
?imageflip — 指定されたモードを使用して画像を反転します
?imagefontheight — フォントの高さを取得します
?imagefontwidth — フォントの幅を取得します
?imageftbbox — FreeType 2 フォントを使用してテキストボックスを作成します
?imagefttext — FreeType 2 フォントを使用して画像にテキストを書き込みます
?imagegammacorrect — ガンマ補正を適用しますGD 画像
?imagegd2 — GD2 画像をブラウザまたはファイルに出力します
?imagegd — GD 画像をブラウザまたはファイルにエクスポートします
?imagegif — 画像をブラウザまたはファイルにエクスポートします。
?imagegrabscreen — 画面全体をキャプチャします
?imagegrabwindow — ウィンドウをキャプチャします
?imageinterlace — インターレースを有効または無効にします
?imageistruecolor — 画像が True Color 画像であるかどうかを確認します
?imagejpeg — 画像をブラウザまたはファイルに出力します。
?imagelayereffect — 设定 alpha 混色标志以使用绑定的 libgd 分层效果
?imageline — 画一条线段
?imageloadfont — 载入一新字体
?imagepalettecopy — 将调色板从一幅图像拷贝到另一幅
?imagepalettetotruecolor — Converts a palette based image to true color
?imagepng — 以 PNG 格式将图像输出到浏览器或文件
?imagepolygon — 画一个多边形
?imagepsbbox — 给出一个使用 PostScript Type1 字体的文本方框
?imagepsencodefont — 改变字体中的字符编码矢量
?imagepsextendfont — 扩充或精简字体
?imagepsfreefont — 释放一个 PostScript Type 1 字体所占用的内存
?imagepsloadfont — 从文件中加载一个 PostScript Type 1 字体
?imagepsslantfont — 倾斜某字体
?imagepstext — 用 PostScript Type1 字体把文本字符串画在图像上
?imagerectangle — 画一个矩形
?imagerotate — 用给定角度旋转图像
?imagesavealpha — 设置标记以在保存 PNG 图像时保存完整的 alpha 通道信息(与单一透明色相反)
?imagescale — Scale an image using the given new width and height
?imagesetbrush — 设定画线用的画笔图像
?imagesetinterpolation — Set the interpolation method
?imagesetpixel — 画一个单一像素
?imagesetstyle — 设定画线的风格
?imagesetthickness — 设定画线的宽度
?imagesettile — 设定用于填充的贴图
?imagestring — 水平地画一行字符串
?imagestringup — 垂直地画一行字符串
?imagesx — 取得图像宽度
?imagesy — 取得图像高度
?imagetruecolortopalette — 将真彩色图像转换为调色板图像
?imagettfbbox — 取得使用 TrueType 字体的文本的范围
?imagettftext — 用 TrueType 字体向图像写入文本
?imagetypes — 返回当前 PHP 版本所支持的图像类型
?imagewbmp — 以 WBMP 格式将图像输出到浏览器或文件
?imagewebp — 将 WebP 格式的图像输出到浏览器或文件
?imagexbm — 将 XBM 图像输出到浏览器或文件
?iptcembed — 将二进制 IPTC 数据嵌入到一幅 JPEG 图像中
?iptcparse — 将二进制 IPTC 块解析为单个标记
?jpeg2wbmp — 将 JPEG 图像文件转换为 WBMP 图像文件
?png2wbmp — 将 PNG 图像文件转换为 WBMP 图像文件

      在Linux与Windows系统下都可以使用GD库,函数也是完全一致,但图形坐标会发生偏移。如果系统相互移植,必须重新查看界面。

在图像上绘制中文

<?php // 定义输出为图像类型
    header("content-type:image/gif");       

    // 创建画布
    $im = imagecreate(400, 200);     
    // 背景
    imagecolorallocate($im, 225, 66, 255);
        
    // 文本颜色
    $text_color = imagecolorallocate($im, 233, 14, 91);    
    $motto = "Test String 长白山";
    //imagestring 默认英文编码,只支持UTF-8
    //imagestring($im, 2, 0, 0, $motto, $text_color);
    
    //当代码文件为:
    //ANSI编码,需要转换
    //UTF-8编码,不需要转换
    //$motto = iconv("gb2312", "utf-8", $motto);
    imageTTFText($im, 20, 0, 0, 100, $text_color, "c:/windows/fonts/simhei.ttf", $motto);  
    
    imagegif($im);
    imagedestroy($im);     
?>

生成验证码

<?php session_start();

header("Content-type:image/png");
$imWidth = 70;
$imHeight= 18;
$im = imagecreate($imWidth, $imHeight);
imagecolorallocate($im, 255, 255, 255);

srand(microtime() * 100000);
for($ix=0; $ix<4; $ix++)
    $number .= dechex(mt_rand(0, 15));

$_SESSION[check_check] = $number;

for($ix=0; $ix<4; $ix++)
{
    $x = $imWidth*$ix/ 4 + mt_rand(1, 8);
    $y = mt_rand(1, $imHeight / 4);
    $ft = mt_rand(3, 5);
    $cor = imagecolorallocate($im, mt_rand(0, 100), mt_rand(0, 150), mt_rand(0, 200));
    
    imagestring($im, $ft, $x, $y, $_SESSION[check_check][$ix], $cor);
}
imagepng($im);
imagedestroy($im);
?>

版权声明:本文为博主郎涯工作室原创文章,未经博主允许不得转载。

以上就介绍了PHP 使用GD库生成验证码 在图像上绘制汉字,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
PHPおよびPython:さまざまなパラダイムが説明されていますPHPおよびPython:さまざまなパラダイムが説明されていますApr 18, 2025 am 12:26 AM

PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

PHPとPython:彼らの歴史を深く掘り下げますPHPとPython:彼らの歴史を深く掘り下げますApr 18, 2025 am 12:25 AM

PHPは1994年に発信され、Rasmuslerdorfによって開発されました。もともとはウェブサイトの訪問者を追跡するために使用され、サーバー側のスクリプト言語に徐々に進化し、Web開発で広く使用されていました。 Pythonは、1980年代後半にGuidovan Rossumによって開発され、1991年に最初にリリースされました。コードの読みやすさとシンプルさを強調し、科学的コンピューティング、データ分析、その他の分野に適しています。

PHPとPythonの選択:ガイドPHPとPythonの選択:ガイドApr 18, 2025 am 12:24 AM

PHPはWeb開発と迅速なプロトタイピングに適しており、Pythonはデータサイエンスと機械学習に適しています。 1.PHPは、単純な構文と迅速な開発に適した動的なWeb開発に使用されます。 2。Pythonには簡潔な構文があり、複数のフィールドに適しており、強力なライブラリエコシステムがあります。

PHPとフレームワーク:言語の近代化PHPとフレームワーク:言語の近代化Apr 18, 2025 am 12:14 AM

PHPは、多数のWebサイトとアプリケーションをサポートし、フレームワークを通じて開発ニーズに適応するため、近代化プロセスで依然として重要です。 1.PHP7はパフォーマンスを向上させ、新機能を紹介します。 2。Laravel、Symfony、Codeigniterなどの最新のフレームワークは、開発を簡素化し、コードの品質を向上させます。 3.パフォーマンスの最適化とベストプラクティスは、アプリケーションの効率をさらに改善します。

PHPの影響:Web開発などPHPの影響:Web開発などApr 18, 2025 am 12:10 AM

phphassiblasifly-impactedwebdevevermentandsbeyondit.1)itpowersmajorplatformslikewordpratsandexcelsindatabase interactions.2)php'sadaptableability allowsitale forlargeapplicationsusingframeworkslikelavel.3)

スカラータイプ、リターンタイプ、ユニオンタイプ、ヌル可能なタイプなど、PHPタイプのヒントはどのように機能しますか?スカラータイプ、リターンタイプ、ユニオンタイプ、ヌル可能なタイプなど、PHPタイプのヒントはどのように機能しますか?Apr 17, 2025 am 12:25 AM

PHPタイプは、コードの品質と読みやすさを向上させるためのプロンプトがあります。 1)スカラータイプのヒント:php7.0であるため、基本データ型は、int、floatなどの関数パラメーターで指定できます。 3)ユニオンタイプのプロンプト:PHP8.0であるため、関数パラメーターまたは戻り値で複数のタイプを指定することができます。 4)Nullable Typeプロンプト:null値を含めることができ、null値を返す可能性のある機能を処理できます。

PHPは、オブジェクトのクローニング(クローンキーワード)と__Clone Magicメソッドをどのように処理しますか?PHPは、オブジェクトのクローニング(クローンキーワード)と__Clone Magicメソッドをどのように処理しますか?Apr 17, 2025 am 12:24 AM

PHPでは、クローンキーワードを使用してオブジェクトのコピーを作成し、\ _ \ _クローンマジックメソッドを使用してクローン動作をカスタマイズします。 1.クローンキーワードを使用して浅いコピーを作成し、オブジェクトのプロパティをクローン化しますが、オブジェクトのプロパティはクローニングしません。 2。\ _ \ _クローン法は、浅いコピーの問題を避けるために、ネストされたオブジェクトを深くコピーできます。 3.クローニングにおける円形の参照とパフォーマンスの問題を避けるために注意し、クローニング操作を最適化して効率を向上させます。

PHP対Python:ユースケースとアプリケーションPHP対Python:ユースケースとアプリケーションApr 17, 2025 am 12:23 AM

PHPはWeb開発およびコンテンツ管理システムに適しており、Pythonはデータサイエンス、機械学習、自動化スクリプトに適しています。 1.PHPは、高速でスケーラブルなWebサイトとアプリケーションの構築においてうまく機能し、WordPressなどのCMSで一般的に使用されます。 2。Pythonは、NumpyやTensorflowなどの豊富なライブラリを使用して、データサイエンスと機械学習の分野で驚くほどパフォーマンスを発揮しています。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール