PHP之初识GD库

d=====( ̄▽ ̄*)b

引语

php不仅仅局限于html的输出,还可以创建和操作各种各样的图像文件,如GIF、PNG、JPEG、WBMP、XBM等。

php还可以将图像流直接显示在浏览器中。

要处理图像,就要用到php的GD库。

ps:确保php.ini文件中可以加载GD库。可以在php.ini文件中找到“;extension=php_gd2.dll”,将选项前的分号删除,保存,再重启Apache服务器即可。

步骤

在php中创建一个图像一般需要四个步骤:

1.创建一个背景图像,以后的所有操作都是基于此背景。

2.在图像上绘图等操作。

3.输出最终图像。

4.销毁内存中的图像资源。

1.创建背景图像

下面的函数可以返回一个图像标识符,代表了一个宽为x_size像素、高为y_size像素的背景,默认为黑色。

1 resource imagecreatetruecolor(int x_size , int y_size)

在图像上绘图需要两个步骤:首先需要选择颜色。通过imagecolorallocate()函数创建颜色对象。

1 int imagecolorallocate(resource image, int red, int green, int blue)

然后将颜色绘制到图像上。

1 bool imagefill(resource image, int x, int y, int color)

imagefill()函数会在image图像的坐标(x,y)处用color颜色进行填充。

2.在图像上绘图

1 bool iamgeline(resource image, int begin_x, int begin_y, int end_x, int end_y, int color)

imageline()函数用color颜色在图像image中画出一条从(begin_x,begin_y)到(end_x,end_y)的线段。

1 bool imagestring(resource image, int font, int begin_x, int begin_y, string s, int color )

imagestring()函数用color颜色将字符串s画到图像image的(begin_x,begin_y)处(这是字符串的左上角坐标)。如果font等于1,2,3,4或5,则使用内置字体,同时数字代表字体的粗细。

如果font字体不是内置的,则需要导入字体库后使用。

3.输出最终图像

创建图像以后就可以输出图形或者保存到文件中了,如果需要输出到浏览器中需要使用header()函数发送一个图形的报头“欺骗”浏览器,使它认为运行的php页面是一个图像。

1 header("Content-type: image/png");

发送数据报头以后,利用imagepng()函数输出图形。后面的filename可选,代表生成的图像文件的保存名称。

1 bool image(resource image [, string filename])

4.销毁相关的内存资源

最后需要销毁图像占用的内存资源。

1 bool imagedestroy(resource image)

例子:

 1 <?php
 2 $width=300;                                              //图像宽度
 3 $height=200;                                             //图像高度
 4 $img=imagecreatetruecolor($width,$height);               //创建图像
 5 $white=imagecolorallocate($img,255,255,255);             //白色
 6 $black=imagecolorallocate($img,0,0,0);                   //黑色
 7 $red=imagecolorallocate($img,255,0,0);                   //红色
 8 $green=imagecolorallocate($img,0,255,0);                 //绿色
 9 $blue=imagecolorallocate($img,0,0,255);                  //蓝色
10 imagefill($img,0,0,$white);                              //将背景设置为白色
11 imageline($img,20,20,260,150,$red);                      //画出一条红色的线
12 imagestring($img,5,50,50,"hello,world!!",$blue);       //显示蓝色的文字
13 header("content-type: image/png");                    //输出图像的MIME类型
14 imagepng($img);                                          //输出一个PNG图像数据
15 imagedestroy($img);                                      //清空内存

效果:

时间: 2024-11-11 10:07:41

PHP之初识GD库的相关文章

初识gd库

必备基础 开启GD拓展 列表使用 获取图片信息代码 图片详细信息 特效函数 示例 运行结果 分析 获取图片基本信息 获取图片宽度 获取图片高度 获取图片后缀名 获取图片mime类型 操作图片 添加文字水印 添加图片水印 压缩图片 输出图片 输出到浏览器 输出到文件 封装成工具类 封装代码 测试实例 测试结果 总结 最后来总结一下本文的主要内容 本文的应用方向 gd2在php处理图片相关操作上是非常的方便而且快速的.而且有些时候也很有必要,诸如对用户上传的图片进行压缩处理来提高响应速度,添加文字水

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 Crea

PHP学习笔记-GD库与Jpgraph的使用

转载请标明出处: http://blog.csdn.net/hai_qing_xu_kong/article/details/52281196 本文出自:[顾林海的博客] 前言 学习PHP从第一篇笔记到现在这篇,已经十多篇了,每天花时间去学习是需要毅力的,好在自己对IT这行也是比较感兴趣,算是每天自娱自乐吧,下周一就去考科目三了,想想也是醉了,拖这么长时间. GD库 GD库是一个开放的动态创建图像.源代码公开的函数库,可以从官方网站http://www.boutell.com/gd处下载.目前,

安装GD库解决ThinkPHP 验证码Call to undefined function Think\imagecreate()出错

在php中imagecreate函数是一个图形处理函数,主要用于新建一个基于调色板的图像了,然后在这个基础上我们可以创建一些图形数字字符之类的,但这个函数需要GD库支持,如果没有开启GD库使用时会提示Call to undefined function imagecreate()错误. 例,我在测试一个简单生成图形时实例 Example #1 新建一个新的 GD 图像流并输出图像  代码如下 复制代码 <?php header("Content-type: image/png")

php GD库

php 中之前比较常使用的是GD库来画图像,这个使用得比较多的是验证码的使用.首先GD库画图必须要有的一些步骤: 首先,创建画布,其次,绘制图片轮廓和画本,再次是输出图型,最后是释放资源. 创建方法如下: imagecreatetruecolor(int width,int height); 填充颜色: $color=imagecolorallocate($resouces,int a,int g,int b); 颜色填充: imagefill($resouces,int start,int s

php GD库常用画图型函数

php GD库画各种的图像函数: 如下: 1.画一个像素:imagesetpixed(int x,int y); 2.画矩形:imagerectange($res,$x,$y,$x1,$x2,$color);两个点实现画矩形 3.imagefilledrectange();参数和上面一样 4.画椭圆: imageellipse($res,int x,int y,int cr,int cy,int color);资源,中心,宽度和高度 5.画一个字符串 imagestring($res,int f

PHP学习笔记-----GD库

PHP中GD库的使用 最新的GD库版本支持GIF.JPEG.PNG.WBMP.XBM等格式的图像文件. 创建图像应该完成如下所示的4个步骤. (1)      创建画布 (2)      绘制图像 (3)      输出图像 (4)      释放资源 画布管理 imagecreate()//新建一个基于调色板的图像 imagecreatetruecolor()//新建一个真彩***像 设置颜色 imagecolorallocate()//为一副图像分配颜色 生成图像 imagegif() im

CentOS 开启GD库

在php.ini 中没有找到"extension=php_gd2.dll"这行代码,这是因为CentOS一般没有预装GD库. 解决办法: 1.在线安装GD库 yum -y install php-gd 2.#重启apache,使其生效 service httpd restart

php如何开启GD库

GD库是干什么用的呢!它是php处理图形的扩展库,GD库提供了一系列用来处理图片的API,使用GD库可以处理图片,或者生成图片.GD库在php中默认是没有开启的,如果想让它支持图片处理功能,那么就要手动开启GD库 步骤: 1.打开php.ini文件 2.用查找工具找到extension=php_gd2.dll,把extension=php_gd2.dll 前面的[;] 3.测试能否用GD库,代码如下: