Heim > php教程 > php手册 > PHP利用GD库画图和生成验证码图片

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

WBOY
Freigeben: 2016-06-13 09:11:24
Original
1025 Leute haben es durchsucht

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

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

 

print_r(gd_info());
Nach dem Login kopieren

如果有打印出内容如下,则说明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] => 
)
Nach dem Login kopieren

GD画图一般步骤如下:

1.创建一张画布资源

2.创建颜色画笔

3.画图

4.保存图片或输出图片

5.销毁内存画布资源

测试代码如下:

<!--?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, &#39;./MSJHBD.TTF&#39;, 中文vsEnglish);  //中文验证

// imagejpeg($image,&#39;./test.jpg&#39;);   //在当前路径下保存图片为test.jpg
imagejpeg($image);  //第四步:不加文件名,直接输出到网页     

imagedestroy($image);   //第五步:销毁,回收资源
?-->
Nach dem Login kopieren

测试图片如下:

注:GD库强大的可以画各种报表(如柱状图,饼状图等)、缩略图、加水印图和股票走势图

<!--?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(&#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);
?-->
Nach dem Login kopieren


 

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage