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. 在Android中使用am和input命令在实际使用中的注意事项以及小技巧

    在Android使用到am和进行一些操作是非常方便的,比如一个重复自动的操作,具体用来实现一些什么是看个人需求了,接下来说对于am和input的使用. 本文适用于已经大概去了解了am和input的朋友 ...

  2. poj 2155 Matrix (二维树状数组)

    题意:给你一个矩阵开始全是0,然后给你两种指令,第一种:C x1,y1,x2,y2 就是将左上角为x1,y1,右下角为x2,y2,的这个矩阵内的数字全部翻转,0变1,1变0 第二种:Q x1 y1,输 ...

  3. EasyUi基础学习(一)—基本组件(上)

    一.概述      jQuery EasyUI是一组基于jQuery的UI插件集合体,而jQuery EasyUI的目标就是帮助web开发者更轻松的打造出功能丰富并且美观的UI界面.开发者不需要编写复 ...

  4. 学习MVC之租房网站(二)-框架搭建及准备工作

    在上一篇<学习MVC之租房网站(一)-项目概况>中,确定了UI+Service的“双层”架构,并据此建立了项目 接下来要编写Common类库.配置AdminWeb和FrontWeb 一.编 ...

  5. Ackerman 函数 (双递归函数)

    public static int ackerman(int n,int m){  if(n==1&&m==0){return 2;}  else if(n==0&&m ...

  6. Bug 笔记

    1.页面返回 400 Bag request: 原因:使用Spring  MVC  controller的时候,查询数据库:当数据库的数据类型是int型时,Spring MVC在查询的数据匹配给实体类 ...

  7. 关于MYSQL存储中文问题

    最近在学习MYSQL时遇到了不能存储中文的问题,在网上找了很多类似的方法,最后都失败了(失败原因:修改完my.cnf文件后mysql server重新启动失败),濒临崩溃的时候重装了下mysql(Ub ...

  8. MySQL Online DDL的改进与应用

        本文简析Online DDL的实现原理与使用过程注意事项.       任何DDL操作,执行者都需要预先测试或者清晰了解这个操作会给数据库带来的影响是否是在业务期间数据库的可承受范围内,尤其是 ...

  9. sptt规范介绍

    相关资源 如何开发sptt工程的原子操作 移动端测试方案--sptt sptt规范 一个标准的sptt工程的目录如下: [sptt-project] | -- [ios] | | -- [atoms] ...

  10. IEnumerable<T>和IQueryable<T>

    建议29.区别LINQ查询中的IEnumerable<T>和IQueryable<T> LINQ查询方法一共提供了两类扩展方法,在System.Linq命名空间下,有两个静态类 ...