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库知识点的更多相关文章

  1. PHP的GD库

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

  2. gd库

    1.开启GD库扩展 去掉注释: extension=php_gd2.dll extension_dir='ext目录所在位置' 2.检测GD库是否开启 phpinfo(); //检测扩展是够开启 ex ...

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

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

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

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

  5. GD库处理图像

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

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

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

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

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

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

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

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

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

随机推荐

  1. 【Flex】读取本地XML,然后XML数据转成JSON数据

    干了一年H5,最近被要求写编辑器,Electron等级还不够,写不了,只有重新拿起as3,用flex,最近写到数据表编辑模块,有这部分功能,基本完成 . package utils { /** * 模 ...

  2. React+ES6+Webpack环境配置

    转自http://www.cnblogs.com/chenziyu-blog/p/5675086.html 参考http://www.tuicool.com/articles/BrAVv2y Reac ...

  3. 老李谈JVM内存模型

    老李谈JVM内存模型   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:908821478,咨 ...

  4. 学习HTML5的第二周

    ---恢复内容开始--- 这是我学习H5的第二周,在本周,我独立完成了一个网站的首页和一个二级页,虽然在做网页的时候我遇到了许多问题,但我自己想办法解决了其中的大部分,只留下了一小部分没有头绪的问题等 ...

  5. start with connect by prior 递归查询用法,很实用

    当开发过程需要查询上下级机构类似的树形机构,还有就是查询当前等级下的所有所属节点 这个子句主要是用于B树结构类型的数据递归查询,给出B树结构类型中的任意一个结点,遍历其最终父结点或者子结点. 先看原始 ...

  6. mvc中DotNetOpenAuth实现了第三方应用访问自己的网站

    以yahoo为例吧,即从yahoo取得用户信息,存到自己的站点,实现了用户信息在一次录入多处共享的功能.以下是在点击了使用yahoo登录本站的链接后执行action:OpenId. ProviderU ...

  7. CPP--借助神器VS理解内存存储

    之前也有想了解这些,第一个不是学底层的不知道从何理解,第二个上网搜概念,大牛们三言两语就结束了,举得例子也比较复杂,对于非C方向的可能有点吃力,所以一直没理解. 今天偶然发现原来还要内存窗口之说,就慢 ...

  8. Executor框架学习笔记

    Java中的线程即是工作单元也是执行机制,从JDK 5后,工作单元与执行机制被分离.工作单元包括Runnable和Callable,执行机制由JDK 5中增加的java.util.concurrent ...

  9. java 集合框架(List操作)

    /*list 基本操作 * * List a=new List(); * 增 * a.add(index,element);按指定位置添加,其余元素依次后移 * addAll(index,Collec ...

  10. storage在IE8下的兼容性写法

    storage 本地缓存,这是HTML5的一个非常好用的地方,具体好用在哪,网上可以找到很多,但是我觉得总结的都不是很完整,我建议大家有空的话可以看下JavaScript权威指南这本书,里面对于这个方 ...