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. Gearman使用示例

    最近的一个旧项目重构过程中,使用到了gearman这个开源项目,简单来讲,这是一个类似MQ的异步系统,一边派发任务,一边处理任务(有类似MQ中的消息发送方与接收方),目前支持java,php等多种语言 ...

  2. [LeetCode] Kth Largest Element in an Array 数组中第k大的数字

    Find the kth largest element in an unsorted array. Note that it is the kth largest element in the so ...

  3. [LeetCode] Rising Temperature 上升温度

    Given a Weather table, write a SQL query to find all dates' Ids with higher temperature compared to ...

  4. [LeetCode] Search for a Range 搜索一个范围

    Given a sorted array of integers, find the starting and ending position of a given target value. You ...

  5. NPOI操作EXCEL(五)——含合并单元格复杂表头的EXCEL解析

    我们在第三篇文章中谈到了那些非常反人类的excel模板,博主为了养家糊口,也玩命做出了相应的解析方法... 我们先来看看第一类复杂表头: ...... 博主称这类excel模板为略复杂表头模板(蓝色部 ...

  6. simpson

    使用二次函数拟合复杂的连续函数求积分 对于(l,r)拟合的积分为(r-l)*(f(l)+4*f((l+r)/2)+f(r))/6 ___________________________ BZOJ217 ...

  7. ABBA BABA statistics

    The ABBA BABA statistics are used to detect and quantify an excess of shared derived alleles, which ...

  8. NOIP2016滚粗记

    想了好久还是决定要写... Day0 Day-5得感冒一直没好,连磕5天药丸. 早晨得知爸妈都要上班并不能送我到校的消息,于是计划10:30集合,定表8:45准备自己走去学校. 然后平常睡得有点晚,结 ...

  9. 使用XHR2或Jsonp实现跨域以及实现原理

    我们直接使用XMLHttpRequset请求外部接口 会发现 报这个错误 其实浏览器成功发送请求并拿回了数据  只是浏览器的同源策略 禁止了获取  在xhr2 服务器端支持跨域 需要在响应头增加 Ac ...

  10. 1014: [JSOI2008]火星人prefix

    1014: [JSOI2008]火星人prefix Time Limit: 10 Sec Memory Limit: 162 MB Description 火星人最近研究了一种操作:求一个字串两个后缀 ...