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()随机生成数字确定需要获取的字符串,对字符 ...
随机推荐
- Spring.net 配置说明
Spring.net使用说明 使用方法: 1.在配置文件设置Spring.net 节点 在配置节中,声明Spring.net,配置 context,objects 标签,来源(type) < ...
- [LeetCode] Word Pattern 词语模式
Given a pattern and a string str, find if str follows the same pattern. Examples: pattern = "ab ...
- WPF仿百度Echarts人口迁移图
GitHub地址:https://github.com/ptddqr/wpf-echarts-map/tree/master 关于大名鼎鼎的百度Echarts我就不多说了 不了解的朋友直接看官方的例子 ...
- NoSql系列目录
mongodb系列学习 Mongodb学习笔记一(Mongodb环境配置) Mongodb学习笔记二(Mongodb基本命令) Mongodb学习笔记三(Mongodb索引操作及性能测试) Mongo ...
- ASP.NET提取多层嵌套json数据的方法
本文实例讲述了ASP.NET利用第三方类库Newtonsoft.Json提取多层嵌套json数据的方法,具体例子如下. 假设需要提取的json字符串如下: {"name":&quo ...
- SDWebImage的简单使用
首先,SDWebImage的git地址是:https://github.com/rs/SDWebImage.我们可以直接到这里进行下载,然后添加到自己的项目中去. 一.使用场景(前提是已经导入了SDW ...
- Medial Queries的另一用法——实现IE hack
众所周知,有些时候为了实现IE下的某些效果与现代浏览器一致,我们不得不使用一些hack手段来实现目的.比如说使用"\0","\"和"\9"来 ...
- javascript-style-guide
/* 1.类型types 原始值:存取直接作用于它自身 string number boolean null undefined var foo=1; var bar=foo; bar=9; cons ...
- EF 二级缓存 EFSecondLevelCache
EFSecondLevelCache ======= Entity Framework .x Second Level Caching Library. 二级缓存是一个查询缓存.EF命令的结果将存储在 ...
- SQLAlchemy(一)
说明 SQLAlchemy只是一个翻译的过程,我们通过类来操作数据库,他会将我们的对应数据转换成SQL语句. 运用ORM创建表 #!/usr/bin/env python #! -*- coding: ...