1.开启GD库扩展

去掉注释:

extension=php_gd2.dll

extension_dir='ext目录所在位置'

2.检测GD库是否开启

phpinfo();

//检测扩展是够开启

extension_loaded();

//检测是否有gd库中的方法

function_exists();

//获取所有已经定义的函数,查看是否有gd库中的函数

get_defined_functions();

3.GD库操作流程

(1)创建画布

(2)创建颜色

(3)开始绘画

(4)输出或保存图像

注意:php文件的BOM头一定要去除。当然也不能有输出。

(5)销毁资源

例子:

 //1.创建画布

 // imagecreatetruecolor(width, height)创建画布,返回一个图像标识符
$width = 100;
$height = 50;
$image = imagecreatetruecolor($width, $height);
//2.创建颜色
// imagecolorallocate(image, red, green, blue)创建颜色
$red = imagecolorallocate($imange, 255, 0, 0);
$white = imagecolorallocate($image, 255, 255, 255)
//3.开始绘画
// imagechar(image, font, x, y, c, color)水平绘制一个字符
imagechar($image, 5, 50, 50, 'Y', $red)
// imagecharup(image, font, x, y, c, color)垂直绘画一个字符
imagecharup($image, 5, 20, 70, c, $white)
// imagestring(image, font, x, y, string, color)水平绘画一个字符串
imagestring($image, 5, 80, 20, 'ykw', $white)
// imagestringup(image, font, x, y, string, color)垂直绘画一个字符串
//4.告诉浏览器以图片形式来显示
header('content-type:image/jpeg');//image/gif image/png
//5.imagejpeg($image)输出图像
imagejpeg($image);
//6.销毁资源
imagedestroy($image);

4.GD库填充画布颜色,设置系统字体

/**
*填充画布颜色
*选择系统字体
**/ //创建画布
$image = imagecreatetruecolor(500, 500);
//创建颜色
$red = imagecolorallocate($image, 255, 0, 0);
$white = imagecolorallocate($image, 255, 255, 255);
$randColor = imagecolorallocate($image, mt_rand(0,255),mt_rand(0,255) ,mt_rand(0,255)); //绘制填充矩形
// imagefilledrectangle(image, x1, y1, x2, y2, color)
imagefilledrectangle($image, 0, 0, 500, 500, $white); //绘画
//windows系统找到字体文件 运行->fonts
// 设置系统字体 imagettftext(image, size, angle, x, y, color, fontfile, text)
imagettftext($image, 20, 0, 100, 100, $randColor, 'fonts/msyhbd.ttf', 'you are a sb'); //告诉浏览器以图像显示
header('content-type:image/png'); //输出图像
imagepng($image);
//保存图像
imagepng($image,'images/1.png');
//销毁资源
imagedestroy($image);

gd库的更多相关文章

  1. PHP的GD库

    GD库 PHP通过GD库,可以对JPG.PNG.GIF.SWF等图片进行处理.GD库常用在图片加水印,验证码生成等方面. 绘制线条 要对图形进行操作,首先要新建一个画布,通过imagecreatetr ...

  2. 已安装php 编译安装 gd库拓展模块

    参考资料:http://wenku.baidu.com/link?url=EgXFShYxeJOZSYNQ_7RCBC-6X8OcRRCqVm4qCv49uBk57d6vLBoUpfYdQ-KqJRs ...

  3. Mac php使用gd库出错 Call to undefined function imagettftext()

    第一次在Mac下使用ThinkPHP,用到验证码功能时报如题的错误: Call to undefined function Think\imagettftext() 然后检查自己的GD库,发现安装上了 ...

  4. GD库处理图像

    在PHP5中,动态图象的处理要比以前容易得多.PHP5在php.ini文件中包含了GD扩展包,只需去掉GD扩展包的相应注释就可以正常使用了.PHP5包含的GD库正是升级的GD2库,其中包含支持真彩图像 ...

  5. 烂泥:centos单独编译安装gd库

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 这几天一直在弄一个商城系统,该系统的源码及数据库都已经上传并创建完毕.但是在安装该系统时,却提示缺少gd库.如下: 使用php探针查看,发现php确实没 ...

  6. phpize 扩展GD库 安装 ! 环境--centos 7 +nginx 1.7.11+php 5.6.7

    使用phpize编译GD库安装,先安装前置库libjpeg libpng zlib  freetype等 都是下面php编译的几个选项 先看php编译的选项: --with-gd=DIR       ...

  7. PHP->利用GD库新建图像

    1.确认php中GD库是否开启 在PHP配置文件php.ini中查找extension=php_gd2.dll,去掉前边的(分号) ';' 即可,一般php是默认开启的 2.绘画步骤 创建一个画布(画 ...

  8. 关于织梦系统不支持php中GD库的问题

    大多数人在显成的PHP的CMS时,如织梦CMS,安装的时候不支持GD库,就导致整个网站的验证码不显示,以下是个人对此类问题的解决办法: 1.首先找到wamp的安装目录,找到PHP的文件夹,打开php. ...

  9. php学习笔记:利用gd库生成图片,并实现随机验证码

    说明:一些基本的代码我都进行了注释,这里实现的验证码位数.需要用的字符串都可以再设置.有我的注释,大家应该很容易能看得懂. 基本思路: 1.用mt_rand()随机生成数字确定需要获取的字符串,对字符 ...

随机推荐

  1. [LeetCode] Lexicographical Numbers 字典顺序的数字

    Given an integer n, return 1 - n in lexicographical order. For example, given 13, return: [1,10,11,1 ...

  2. [LeetCode] Course Schedule 课程清单

    There are a total of n courses you have to take, labeled from 0 to n - 1. Some courses may have prer ...

  3. 使用Bandwagon的VPS第一件事《FQ》

    说点闲话:昨天的长靴子到了,哎呀,今天那个高兴,踩着我的8厘米的过膝靴就出门上专业外语去了,扎了个麻花辫子,那个心情好哟,搞得我都不想继续学习linux平台上的C语言了,好想逛街----秀秀我的鞋子, ...

  4. [转载]Web前端开发工程师编程能力飞升之路

    [背景] 如果你是刚进入web前端研发领域,想试试这潭水有多深,看这篇文章吧:如果你是做了两三年web产品前端研发,迷茫找不着提高之路,看这篇文章吧:如果你是四五年的前端开发高手,没有难题能难得住你的 ...

  5. kubernetes 文档

    kubernetes 官方文档:http://kubernetes.io/docs/ null

  6. Android -- 获取接口数据的三个方法

    1.   compile 'com.loopj.android:android-async-http:1.4.9': AsyncHttpClient client = new AsyncHttpCli ...

  7. Spring和Mybatis整合,配置文件

    整合时除了未整合前spring.mybatis的必须包外还需要加入两个包 spring-jdbc-4.2.5.RELEASE.jar mybatis-spring-1.2.5.jar spring-j ...

  8. Mybatis传入参数类型为Map

    mybatis更新sql语句: <update id="publishT00_notice" parameterType="Map"> update ...

  9. XPatchLib 对象增量数据序列化及反序列化器 For .Net

    在日常的软件开发和使用过程中,我们发现同一套系统的同一配置项在不同的客户环境中是存在各种各样的差异的.在差异较为分散时,如何较好的管理这些差异,使得维护过程能够更加安全和快速,一直在这样那样的困扰着开 ...

  10. js函数表达式和函数声明的区别

    我们已经知道,在任意代码片段外部添加包装函数,可以将内部的变量和函数定义"隐 藏"起来,外部作用域无法访问包装函数内部的任何内容. 例如: var a = 2; function ...