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

WBOY
풀어 주다: 2016-07-13 10:02:43
원래의
1123명이 탐색했습니다.

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.销毁内存画布资源

测试代码如下:

<!--?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);   //第五步:销毁,回收资源
?-->
로그인 후 복사

测试图片如下:

\

注: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);
?-->
로그인 후 복사


 

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/969598.htmlTechArticlePHP利用GD库画图和生成验证码图片 首先得确定php.ini设置有没有打开GD扩展功能,测试如下 print_r(gd_info()); 如果有打印出内容如下,则说明...
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿