类似于下面这样
1.利用GD库函数生成图片,并在图片上写指定字符
imagecreatetruecolor 新建一个真彩色图像
imagecolorallocate 为一幅图像分配颜色(调色板) <">

ホームページ >バックエンド開発 >PHPチュートリアル >PHP5のGDライブラリがグラフィック検証コード(漢字含む)を生成_PHPチュートリアル

PHP5のGDライブラリがグラフィック検証コード(漢字含む)を生成_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:00:01827ブラウズ

PHP5 の GD ライブラリを使用してグラフィカルな検証コードを生成します

PHP5のGDライブラリがグラフィック検証コード(漢字含む)を生成_PHPチュートリアル

以下と同様です
1. GD ライブラリ関数を使用して画像を生成し、画像上に指定された文字を書き込みます
imagecreatetruecolor 新しいトゥルーカラー画像を作成します
imagecolorallocate 画像に色を割り当てます (パレット)
imagestring が文字を描画します
imageline がピクセルを描画します
2. 画像を出力します
imagejpeg($img); コード内のコメントは詳細です。ここではあまり説明しません
verify.php


コードをコピーします コードは次のとおりです:
//1.qi gd ライブラリを有効にする GD ライブラリは、次のような一連の API を提供します。画像の処理 GD ライブラリを使用して画像を処理または生成します。
// Web サイトでは、通常、GD ライブラリはサムネイルの生成や画像への透かしの追加、または Web サイト データに関するレポートの生成に使用されます。
session_start();
// GBK エンコードされた文字列を UTF-8 文字列に変換します。ホストに保存されているこの PHP ファイルのエンコードは GBK エンコードであるため、最初のパラメータは GBK と書かれます。
// UTF-8 エンコードは通常ブラウザでサポートされており、汎用性が高いです。 ここでは UTF-8 に変換します
$str = iconv("GBK", "utf-8", "すべての生き物は緑であり、緑の水、緑の山、景勝地や史跡です。心を開くと、幸せがいつもあなたとともにあります。 )
{
exit("文字列ではないか、utf-8 ではありません");
}
$ zhongwenku_size
// UTF-8 エンコーディングに従って文字列の長さを取得します
$zhongwenku_size = mb_strlen($str, "UTF -8");
// 上記の文字を配列にインポートします
$zhongwenku = array();
for( $i=0; $i<$zhongwenku_size; $i++)
{
$zhongwenku[$i] = mb_substr($str, $i,1,"UTF-8");
}
$result = " ";
// 画像に書き込む 4 文字
for($i=0; $i<4 ; $i++)
{
switch (rand(0, 1))
{
case 0:
$ result.=$zhongwenku[rand(0, $zhongwenku_size-1)]
break; result.=dechex(rand(0,15));
break;
}

}
$_SESSION ["check"] = $result;

// 幅 100、高さ 30 の True Color イメージを作成します
$ img = imagecreatetruecolor(100, 30);
// 背景色を割り当てる
$bg = imagecolorallocate($img, 0 , 0, 0);
// テキストの色を割り当てる
$te = imagecolorallocate($img, 255,255,255); // 画像に文字列を書き込みます
//imagestring($img, rand(3,8), rand(1,70), rand(1,10), $result, $te); // 特殊なフォントを書き込むことができますロードされたフォントに従って画像上に
imagettftext($img, 13, rand(2, 9), 20 ,20, $te, "MSYH.TTF",$result);
$_SESSION["check"] = $結果;
for($i=0; $i<3; $i++)
{
// $ t = imagecolorallocate($img, rand(0, 255),rand(0, 255),rand(0, 255) ));
// 線を描く
imageline($img, 0, rand(0, 20), rand(70,100), rand(0, 20), $te);
}
$t = imagecolorallocate($img, rand(0, 255),rand(0, 255),rand(0, 255));
/ / 画像にノイズを追加します
for($i=0; $i<200; $i++)
{
imagesetpixel ($img, rand(1, 100), rand(1, 30), $t);
}
// 今回は画像内のjpegを送信することを指定するhttpヘッダー情報を送信
header("Content-type : image/jpeg");
// jpeg 画像をブラウザに出力します
imagejpeg($img);
?>


submit.php



コードをコピーします
コードは次のとおりです:

session_start(); if(@$_POST['check']) { if($_POST[" check"] == $_SESSION["check"])
{
echo"おめでとう!確認コードは正しく入力されました。 ";
}else{
echo" 申し訳ありませんが、確認コードが間違って入力されました";
}
}
?>





< /br>



MRYH.ttf が設定したいフォントです。



http://www.bkjia.com/PHPjc/328100.html
www.bkjia.com
tru​​e

http://www.bkjia.com/PHPjc/328100.html技術記事 PHP5 の GD ライブラリを使用してグラフィカルな検証コードを生成する方法は、次のようになります。 1. GD ライブラリ関数を使用して画像を生成し、その画像に指定された文字を書き込みます。 imagecreatetruecolor で新しい True Color イメージ画像を作成します...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。