Home > Backend Development > PHP Tutorial > PHP利用GD库画图跟生成验证码图片

PHP利用GD库画图跟生成验证码图片

WBOY
Release: 2016-06-13 12:16:12
Original
1047 people have browsed it

PHP利用GD库画图和生成验证码图片

首先得确定php.ini设置有没有打开GD扩展功能,测试如下

print_r(gd_info());
Copy after login

如果有打印出内容如下,则说明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] => )
Copy after login

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);   //第五步:销毁,回收资源?>
Copy after login

测试图片如下:



注: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);?>
Copy after login


Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template