gd库
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库的更多相关文章
- PHP的GD库
GD库 PHP通过GD库,可以对JPG.PNG.GIF.SWF等图片进行处理.GD库常用在图片加水印,验证码生成等方面. 绘制线条 要对图形进行操作,首先要新建一个画布,通过imagecreatetr ...
- 已安装php 编译安装 gd库拓展模块
参考资料:http://wenku.baidu.com/link?url=EgXFShYxeJOZSYNQ_7RCBC-6X8OcRRCqVm4qCv49uBk57d6vLBoUpfYdQ-KqJRs ...
- Mac php使用gd库出错 Call to undefined function imagettftext()
第一次在Mac下使用ThinkPHP,用到验证码功能时报如题的错误: Call to undefined function Think\imagettftext() 然后检查自己的GD库,发现安装上了 ...
- GD库处理图像
在PHP5中,动态图象的处理要比以前容易得多.PHP5在php.ini文件中包含了GD扩展包,只需去掉GD扩展包的相应注释就可以正常使用了.PHP5包含的GD库正是升级的GD2库,其中包含支持真彩图像 ...
- 烂泥:centos单独编译安装gd库
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 这几天一直在弄一个商城系统,该系统的源码及数据库都已经上传并创建完毕.但是在安装该系统时,却提示缺少gd库.如下: 使用php探针查看,发现php确实没 ...
- phpize 扩展GD库 安装 ! 环境--centos 7 +nginx 1.7.11+php 5.6.7
使用phpize编译GD库安装,先安装前置库libjpeg libpng zlib freetype等 都是下面php编译的几个选项 先看php编译的选项: --with-gd=DIR ...
- PHP->利用GD库新建图像
1.确认php中GD库是否开启 在PHP配置文件php.ini中查找extension=php_gd2.dll,去掉前边的(分号) ';' 即可,一般php是默认开启的 2.绘画步骤 创建一个画布(画 ...
- 关于织梦系统不支持php中GD库的问题
大多数人在显成的PHP的CMS时,如织梦CMS,安装的时候不支持GD库,就导致整个网站的验证码不显示,以下是个人对此类问题的解决办法: 1.首先找到wamp的安装目录,找到PHP的文件夹,打开php. ...
- php学习笔记:利用gd库生成图片,并实现随机验证码
说明:一些基本的代码我都进行了注释,这里实现的验证码位数.需要用的字符串都可以再设置.有我的注释,大家应该很容易能看得懂. 基本思路: 1.用mt_rand()随机生成数字确定需要获取的字符串,对字符 ...
随机推荐
- Gearman使用示例
最近的一个旧项目重构过程中,使用到了gearman这个开源项目,简单来讲,这是一个类似MQ的异步系统,一边派发任务,一边处理任务(有类似MQ中的消息发送方与接收方),目前支持java,php等多种语言 ...
- [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 ...
- [LeetCode] Rising Temperature 上升温度
Given a Weather table, write a SQL query to find all dates' Ids with higher temperature compared to ...
- [LeetCode] Search for a Range 搜索一个范围
Given a sorted array of integers, find the starting and ending position of a given target value. You ...
- NPOI操作EXCEL(五)——含合并单元格复杂表头的EXCEL解析
我们在第三篇文章中谈到了那些非常反人类的excel模板,博主为了养家糊口,也玩命做出了相应的解析方法... 我们先来看看第一类复杂表头: ...... 博主称这类excel模板为略复杂表头模板(蓝色部 ...
- simpson
使用二次函数拟合复杂的连续函数求积分 对于(l,r)拟合的积分为(r-l)*(f(l)+4*f((l+r)/2)+f(r))/6 ___________________________ BZOJ217 ...
- ABBA BABA statistics
The ABBA BABA statistics are used to detect and quantify an excess of shared derived alleles, which ...
- NOIP2016滚粗记
想了好久还是决定要写... Day0 Day-5得感冒一直没好,连磕5天药丸. 早晨得知爸妈都要上班并不能送我到校的消息,于是计划10:30集合,定表8:45准备自己走去学校. 然后平常睡得有点晚,结 ...
- 使用XHR2或Jsonp实现跨域以及实现原理
我们直接使用XMLHttpRequset请求外部接口 会发现 报这个错误 其实浏览器成功发送请求并拿回了数据 只是浏览器的同源策略 禁止了获取 在xhr2 服务器端支持跨域 需要在响应头增加 Ac ...
- 1014: [JSOI2008]火星人prefix
1014: [JSOI2008]火星人prefix Time Limit: 10 Sec Memory Limit: 162 MB Description 火星人最近研究了一种操作:求一个字串两个后缀 ...