GD库知识点
GD库:PHP的一个扩展库,主要用于绘制动态图,根据数据动态响应的图片 如统计图 验证码
其他的用途如:处理已有图像 图片的缩放 裁剪 图片水印 文字水印 1.安装GD库
2.画图步骤:创建背景图像(画布资源);画图;输出图形;释放资源 绘图
创建一个画布:imagecreatetruecolor(宽,高),默认黑色
显示图像:header("content-type:image/图片格式类型");
图片格式类型:gif(动图)\jpg(jpeg)-网站用的最普遍,大小较小,色彩较多\png-色彩还原度最好,较大
图像显示:
imagejpeg($img);//$img-画布资源
imagegif($img);
imagepng($img);
保存图像:imagejpeg($img,"图片路径(含图片名字)");
既要显示又要保存:
imagepng($img);//显示
imagepng($img,"img/2.png");//保存 定义颜色:
$red = imagecolorallocate(图片资源,RGB-红色,RGB-绿,RGB-蓝); 画点:
imagesetpixel(图片资源,x坐标,y坐标,颜色);
画线:两个点坐标
imageline(图片资源,x1坐标,y1坐标,x2,y2,颜色);
画虚线:
1)样式的数组设置
$style = array(//5个像素的黄色 6个像素的蓝色
$yellow,$yellow,$yellow,$yellow,$yellow,$yellow,
$blue,$blue,$blue,$blue,$blue,$blue
);
2)imagesetstyle(图片资源,$style);
3)画线:imageline($img,10,10,100,100,IMG_COLOR_STYLED); 矩形:
imagerectangle(图片资源,起点x,起点y,终点x,终点y,颜色); 起点\终点 组成的是一条对角线
imagefilledrectangle(图片资源,起点x,起点y,终点x,终点y,颜色) 图形颜色填充 圆形:
imageellipse(图片资源,圆心x,圆心y,宽度,高度,颜色);
imagefilledellipse(图片资源,圆心x,圆心y,宽度,高度,颜色) 图形颜色填充 弧线:
imagearc(图片资源,圆心x,圆心y,宽,高,起点度数,终点度数,颜色); 多边形
imagepolygon();
imagefilledpolygon($img,
array(//顶点坐标数组(按顺序)
10,0,
50,20,
100,90,
120,50,
30,60
),
5,//顶点个数
颜色
); 画字符串:
imagestring(图片资源,字体(1-5),坐标x,坐标y,"字符串",颜色)
* 不能打印中文 imagettftext(图片资源,字号,角度,坐标x,坐标y,颜色,"字体文件路径(含文件名)","字符串(可以打印中文)"); ===========================================
常用颜色:
$red = imagecolorallocate($img,255,0,0);
$green= imagecolorallocate($img,0,255,0);
$blue = imagecolorallocate($img,0,0,255);
$white = imagecolorallocate($img,255,255,255);
$black = imagecolorallocate($img,0,0,0);
$yellow = imagecolorallocate($img,255,255,0); //保存或者输出给浏览器 如果写了第二个参数则表示将图像流输出到文件
header("content-type:images/png");
imagepng($res);//保存为PNG格式的图片
imagejpeg($res,"2.jpg");//保存为jpg格式的图片
imagegif($res,"3.gif");//保存为gif格式的图片 imagedestroy($res);//销毁图片资源
GD库知识点的更多相关文章
- PHP的GD库
GD库 PHP通过GD库,可以对JPG.PNG.GIF.SWF等图片进行处理.GD库常用在图片加水印,验证码生成等方面. 绘制线条 要对图形进行操作,首先要新建一个画布,通过imagecreatetr ...
- gd库
1.开启GD库扩展 去掉注释: extension=php_gd2.dll extension_dir='ext目录所在位置' 2.检测GD库是否开启 phpinfo(); //检测扩展是够开启 ex ...
- 已安装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. ...
随机推荐
- git commit -m与-am的区别
前面的话 使用git commit -am是不是就可以完全不使用git add命令呢?不是 理论 要了解git commit -m与git commit -am的区别,首先要明白它们的定义 字面解释的 ...
- 分布式统一配置平台-Disconf.Net
源码地址:https://github.com/qkbao/Disconf.Net 作者:青客宝 联系qq:后续奉上 为了更好的解决分布式环境下多台服务实例的配置统一管理问题,本文提出了一套完整的分 ...
- WPF之路二: button添加背景图片点击后图片闪烁问题
在为button添加背景图片的时候,点击后发现图片闪烁,我们仔细观察,其实Button不仅仅只是在点击后会闪烁,在其通过点击或按Tab键获得焦点后都会闪烁,而通过点击其他按钮或通过按Tab键让Butt ...
- 性能调优案例分享:jvm crash的原因 1
性能调优案例分享:jvm crash的原因 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq: ...
- SpringMVC 自定义全局日期转换器
第一步: 编写自定义转换器的类 /* * 自定义日期转换器 */ public class CustomDateConverter implements Converter<String, Da ...
- java 基础知识六 字符串2
java 基础知识六 字符串2 1.String类是final类,也即意味着String类不能被继承,并且它的成员方法都默认为final方法 . String 是不可变对象,也就是一旦创建,那么整 ...
- Oracle 一些基本命令
--创建表空间 --DATAFILE: 表空间数据文件存放路径 --SIZE: 起初设置为200M --空间名称MOF_TEMP与数据文件名称不要求相同,可随意命名. --AUTOEXTEND ON/ ...
- 开源的C#实现WebSocket协议客户端和服务器websocket-sharp组件解析
很久没有写博客了(至少自己感觉很长时间没有写了),没办法啊,楼主也是需要生活的人啊,这段一直都在找工作什么的.(整天催我代码的人,还望多多谅解啊,我会坚持写我们的项目的,还是需要相信我的,毕竟这是一个 ...
- Redis分布式锁
Redis分布式锁 分布式锁是许多环境中非常有用的原语,其中不同的进程必须以相互排斥的方式与共享资源一起运行. 有许多图书馆和博客文章描述了如何使用Redis实现DLM(分布式锁管理器),但是每个库都 ...
- [HAOI2006]受欢迎的牛
洛谷传送门 直接tarjan求scc,然后统计出度为0的缩点,如果多余1个就输出0,只有一个就输出这个缩点里的点. --代码 #include <cstdio> #include < ...