ホームページ  >  記事  >  バックエンド開発  >  PHP 画像検証コード関数の完全ガイド: imagecreatetruecolor、imagestring、imagejpeg およびその他の関数の検証コード生成スキル

PHP 画像検証コード関数の完全ガイド: imagecreatetruecolor、imagestring、imagejpeg およびその他の関数の検証コード生成スキル

PHPz
PHPzオリジナル
2023-11-18 17:53:16667ブラウズ

PHP 画像検証コード関数の完全ガイド: imagecreatetruecolor、imagestring、imagejpeg およびその他の関数の検証コード生成スキル

PHP 画像検証コード関数の完全ガイド: imagecreatetruecolor、imagestring、imagejpeg およびその他の関数の検証コード生成スキル。具体的なコード例が必要です。

はじめに: 画像検証コードは Web サイト 人間のユーザーと機械プログラムを区別するために使用される一般的な検証方法です。 PHP には画像検証コードを生成および処理するための関数が複数用意されていますが、この記事では、imagecreatetruecolor、imagestring、imagejpeg などの関数を使用して画像検証コードを生成する手法と、具体的なコード例を詳しく紹介します。

1. 概要

画像検証コードは、ランダムな文字を含む画像を表示し、検証に合格するにはユーザーに正しい文字を入力することを要求します。その利点は、マシン プログラムが Web サイト上で悪意のある操作を実行するのを効果的に防止し、ユーザーと Web サイト間の対話のセキュリティを向上できることです。

PHP には、画像検証コードを生成する 3 つの主な関数があります。
• imagecreatetruecolor: True Color 画像リソースを作成します。
• imagestring: 画像に文字列を書き込みます。
• imagejpeg: 画像を JPEG 形式で出力します。

以下では、各関数を詳細に説明し、対応するコード例を示します。

2. imagecreatetruecolor 関数

imagecreatetruecolor 関数は、指定されたサイズの True Color イメージ リソースを作成するために使用されます。その構文は次のとおりです。
resource imagecreatetruecolor (int $width, int $height)

このうち、$width と $height はそれぞれ画像の幅と高さを表し、どちらも整数データです。 。 100x50 ピクセルのトゥルー カラー画像リソースを作成するサンプル コードを次に示します。

$width = 100;
$height = 50;
$image = imagecreatetruecolor($ width , $height);
?>

3. imagestring 関数

imagestring 関数は、画像に文字列を書き込むために使用されます。構文は次のとおりです。
bool imagestring ( resource $image , int $font , int $x , int $y , string $string , int $color )

ここで、 $image はターゲットの画像リソースを表します、$font はフォントのサイズ (値の範囲は 1 ~ 5) を表し、$x と $y は文字列の開始位置を表し、$string は書き込まれる文字列を表し、$color は文字列の色を表します。 。画像に文字列を書き込むサンプル コードを次に示します。

$font_size = 4;
$x = 10;
$y = 10;
$color = imagecolorallocate($image, 255, 255, 255); // 白色を割り当てます
$code = "ABCD"; // ランダムに生成された文字
imagestring($image, $font_size, $x , $y, $code, $color);
?>

4. imagejpeg 関数

imagejpeg 関数は、画像を JPEG 形式で出力するために使用されます。構文は次のとおりです。
bool imagejpeg ( resource $image [, string $filename [, int $quality ]] )

このうち、$image は出力する画像リソースを表し、$filename は出力する画像リソースを表します。出力ファイルを表します。名前 (オプション)、$quality は出力イメージの品質を表します (値の範囲は 0 ~ 100、デフォルトは 75)。画像を JPEG 形式で出力するサンプル コードを次に示します。

$filename = "captcha.jpg";
$quality = 90;
header("Content -type: image/jpeg");
imagejpeg($image, $filename, $quality);
imagedestroy($image);
?>

5. 完全な画像検証コード生成コード

$width = 100;
$height = 50;
$image = imagecreatetruecolor($width, $height);
$bg_color = imagecolorallocate($image, 0, 0, 0); //背景色を黒に設定します
imagefill($image, 0, 0, $bg_color); //背景色を塗りつぶします

$font_size = 4;
$x = 10;
$y = 10;
$color = imagecolorallocate($image, 255, 255, 255); //フォントの色を白に設定します
$code = " ABCD"; // ランダムに生成された文字
imagestring($image, $font_size, $x, $y, $code, $color); // 画像に文字列を書き込みます

$filename = "captcha.jpg";
$quality = 90;
header("Content-type: image/jpeg");
imagejpeg($image, $filename, $quality); // 出力画像

imagedestroy($image); // 画像リソースを解放します
?>

上記のコードは、単純な画像検証コード生成プロセスを実装しています。画像サイズ、背景色、フォント色、文字内容などのパラメータを必要に応じて変更して、さまざまなスタイルの検証コード画像を生成できます。

結論

この記事では、imagecreatetruecolor、imagestring、imagejpeg およびその他の関数を使用して画像検証コードを生成する方法を読者が理解できるように、PHP 画像検証コード関数を紹介します。対応するパラメータを変更することで、さまざまな形式や特性の検証コードを実現できます。この記事が、実際のアプリケーションで画像検証コードを使用するのに役立つことを願っています。さらにご質問がある場合は、お気軽にお問い合わせください。

以上がPHP 画像検証コード関数の完全ガイド: imagecreatetruecolor、imagestring、imagejpeg およびその他の関数の検証コード生成スキルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。