Home >Backend Development >PHP Tutorial >PHP uses GD library to draw pictures and generate verification code pictures_PHP tutorial
First of all, make sure that the GD extension function is turned on in the php.ini settings. The test is as follows
print_r(gd_info());
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] => )
The general steps for GD drawing are as follows:
1. Create a canvas resource
2. Create a color brush
3. Drawing
4. Save the picture or export the picture
5. Destroy memory canvas resources
The test code is as follows:
<!--?php header(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, './MSJHBD.TTF', 中文vsEnglish); //中文验证 // imagejpeg($image,'./test.jpg'); //在当前路径下保存图片为test.jpg imagejpeg($image); //第四步:不加文件名,直接输出到网页 imagedestroy($image); //第五步:销毁,回收资源 ?-->
Note: The GD library is powerful and can draw various reports (such as bar charts, pie charts, etc.), thumbnails, watermarked images and stock trend charts
<!--?php header(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('./me.png'); //读取原图 //把原图copy到缩略图画布上 imagecopyresampled($dst, $src, 0, 0, 0, 0, $thumb_width, $thumb_height, $width, $height); imagepng($dst,'./me_thumb.png'); imagedestroy($dst); imagedestroy($src); ?-->