PHP では、PHP 描画機能を使用することで、PHP ファイルにアクセスすると描画した画像が表示され、レポートの開発や検証コードの設計、ウォーターマークや透かしなどに応用できます。写真のサムネイル。
PHP 描画関数を紹介する前に、まず PHP の描画座標系を理解する必要があります。
php 座標系 、座標の原点は左上隅にあります (ピクセル単位)。 (推奨学習: PHP プログラミングの入門から熟練度まで )
座標 (x, y) - 最初の座標は、現在位置が水平で、座標から x 距離であることを示します。座標原点ピクセル。2 番目は y 座標で、現在位置が垂直方向で、座標点から y ピクセル離れていることを示します。
特記事項: ピクセルは長さの単位ではなく、密度の単位です。理論的には、解像度が小さいほど、1 つのピクセルが占める長さは長くなります。
PHP 描画の基本原理と手順
(1) キャンバスの作成
(2) 必要なさまざまなグラフィックス (円、直線、長方形) を描画します、円弧、扇形...)
(3) 画像を Web ページに出力するか、保存します (保存形式の問題に基づいて、Web サイト開発用のいくつかの一般的な画像形式として保存できます)
(4) イメージの破棄(メモリの解放)
検証コードを描画するためのコードは次のとおりです。
<?php //echo rand(2,9); //echo "<br/>".dechex(rand(1,15))."<br/>"; session_start(); $checkCode=""; for($i=0;$i<4;$i++) { $checkCode.=dechex(rand(1,15)); } //讲随机验证码保存到session中 $_SESSION['myCheckCode']=$checkCode; //创建图片,并把随机数画上去 $img=imagecreatetruecolor(110, 30); //背景默认就是黑色 //你可以指定背景颜色 $bgcolor=imagecolorallocate($img, 0, 0, 0); imagefill($img, 0, 0, $bgcolor); //创建新的颜色 $white=imagecolorallocate($img, 255, 255, 255); $blue=imagecolorallocate($img, 0, 0, 255); $red=imagecolorallocate($img, 255, 0, 0); $green=imagecolorallocate($img, 0, 255, 0); //画出干扰线段 for($i=0;$i<20;$i++) { //更好的方法是颜色随机 imageline($img, rand(0,110), rand(0,30), rand(0,110), rand(0,30), imagecolorallocate($img, rand(0,255), rand(0,255), rand(0,255))); } //画出噪点,自己画 //for($i=0;$i<10;$i++) //把四个随机值画上去 imagestring($img, rand(1,5), rand(2,80), rand(2,10), $checkCode, $white); //如果要使用中文 //array imagefttext(string $font_file, string $text [,array $extrainfo) //imagettftext($img,15,10,20,25,$white,"STXINWET.TTF","北京你好"); //输出 header("content-type: image/png"); imagepng($img); ?>
はログイン インターフェイスに使用されます。 (ここではコードの一部のみを提供しますが、理解には影響しません。無関係な内容を削除して直接使用できます)
<form action="loginProcess.php" method="post"> <table> <tr><td>用户id</td><td><input type="text" name="id" value="<?php echo getCookieVal("id"); ?>"/></td></tr> <tr><td>密 码</td><td><input type="password" name="password"/></td></tr> <tr><td>验证码</td><td><input type="text" name="checkCode"/> <img src="checkCode.php" onClick="this.src='checkCode.php?aa='+Math.random()"/ alt="PHPの描画機能の用途は何ですか" ></td></tr> <tr><td colspan="2">是否保存用户id<input type="checkbox" value="yes" name="keep"></td></tr> <tr><td><input type="submit" value="用户登录"/></td> <td><input type="reset" value="重新填写"/></td></tr> </table> </form>
以上がPHPの描画機能の用途は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。