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

PHP は GD ライブラリを使用して画像を描画し、検証コード画像を生成します

WBOY
WBOYオリジナル
2016-06-13 12:16:121036ブラウズ

PHP は GD ライブラリを使用して画像を描画し、検証コード画像を生成します。

まず、php.ini の設定で GD 拡張機能がオンになっていることを確認します。テストは次のとおりです。

print_r(gd_info());

次の内容が出力された場合、GD 機能がオンになっています:

Array(    [GD Version] => bundled (2.0.34 compatible)    [FreeType Support] => 1    [FreeType Linkage] => with freetype    [T1Lib Support] => 1    [GIF Read Support] => 1    [GIF Create Support] => 1    [JPG Support] => 1    [PNG Support] => 1    [WBMP Support] => 1    [XPM Support] =>     [XBM Support] => 1    [JIS-mapped Japanese Font Support] => )

GD 描画の一般的な手順は次のとおりです。

1. キャンバス リソースを作成します

2. カラーブラシを作成します

3. 画像を描画します

4. 🎜>

5. メモリキャンバスリソースを破棄します


テストコードは次のとおりです:

<?phpheader("Content-type: image/jpeg");$width = 400;   //宽,高$height = 400;  $image = imagecreate($width, $height); //第一步:创建空白图像$white = imagecolorallocate($image, 0, 0, 0);  //第一次对 imagecolorallocate() 的调用会给基于调色板的图像填充背景色,即用 imagecreate() 建立的图像。 $green = imagecolorallocate($image, 0, 255, 0); //第二步:为图像分配颜色imageline($image, 0, 20, 400, 20, $green);  //第三步:画线imagerectangle($image,100,40,300,100,$green);  //画矩形imagearc($image, 200, 150, 90, 90, 0, 360, $green); //画圆imagestring($image, 14, 100, 240, "PHP is NiuBi HongHong!", $green); //写字符串$str="abcdefghjklmnpqrstuvwxyz23456789";$randstr = substr(str_shuffle($str), 0,4);imagestring($image, 14, 100, 260, $randstr, $green); //验证码imagettftext($image, 14, 0, 100, 300, $green, &#39;./MSJHBD.TTF&#39;, "中文vsEnglish");  //中文验证// imagejpeg($image,&#39;./test.jpg&#39;);   //在当前路径下保存图片为test.jpgimagejpeg($image);  //第四步:不加文件名,直接输出到网页     imagedestroy($image);   //第五步:销毁,回收资源?>

テスト画像は次のとおりです:



注: GD ライブラリは強力で、さまざまなレポート (棒グラフ、円グラフ、ステータス画像など)、サムネイル、透かし入りの画像、株価チャートを描画できます

サムネイル関数の例:

<?phpheader("Content-type: image/png");$width = 300;   //原图宽,高$height = 210;  $thumb_width = (int)$width/2;$thumb_height = (int)$height/2;$dst = imagecreate($thumb_width,$thumb_height); //创建缩略图画布$gray = imagecolorallocate($dst, 100, 100, 100);$src = imagecreatefrompng(&#39;./me.png&#39;); //读取原图//把原图copy到缩略图画布上imagecopyresampled($dst, $src, 0, 0, 0, 0, $thumb_width, $thumb_height, $width, $height); imagepng($dst,&#39;./me_thumb.png&#39;);imagedestroy($dst);imagedestroy($src);?>


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