一、相关函数

  1. 获取信息

  gd_info()  #查看当前系统环境gd库支持的图片格式

  getimagesize(imagefile)  #获取图像大小,非GD库函数

  imagex(imagefile)  #获取原图宽

  imagey(imagefile)  #获取原图高

  2. 创建图像资源

  imagecreatefrompng("images/button1.png");  #以png图片创建图像资源(画布)

  imagecreatetruecolor(width,height)  #创建指定大小的无色(显示为黑)图像资源(画布)

  3. 绘制内容

  imagecolorallocate($image,255,255,255)  #创建指定图像资源允许的颜色(画笔)

  imagefill($image,x,y,$color)  #给指定画布填充设定的颜色

  imagestring($image,int,x,y,string,$color)  #给指定画布绘制字符串

  imagettftext($image,size,角度,x,y,$color,font,string)  #给指定画布绘制指定字体的字符串

  imageline($image,x,y,x,y,$color)  #给指定画布绘制直线

  imagerectangle($image,x,y,x,y,$color)  #给指定画布绘制矩形

  imagefilledrectangle($image,x,y,x,y,$color)  #给指定画布绘制填充矩形

  imagellipse($image,x,y,width,height,$color)  #给指定画布绘制椭圆

  imagearc($image,center-x,center-y,width,height,start,ent,$color)  #绘制弧形

  imagefilledarc($image,center-x,center-y,width,height,start,ent,$color[,IMG_ARC_PIE])  #绘制填充弧形

  imagecopy($dis_img,$src_img,$dis_x,$dis_y,$src_x,$src_y,$src_w,$src_h)  #将一个图像资源复制到另一个上

  imagecopyresampled(dis_img,$src_img,$dis_x,$dis_y,$src_x,$src_y,$dis_w,$dis_h,$src_w,$src_h)

  4. 响应输出

  imagepng($image[,filename])  #将指定图像资源以png格式输出到浏览器,注意设置响应头。或写到文件

  imagejpeg()

  5. 销毁资源

  imagedestroy($image)  #销毁图像资源

  

二、简介

  1.功能:是被PHP用来创建和处理图片的扩展,能支持jpeg,png,gif,webp,xbp,xpm,bmp 图片格式

  2.创建的资源类型:图像资源imagecreatefrompng()  字体资源imageloadfont()

  3.应用场景:验证码,图表,图像压缩

三、安装

  1.下载地址:https://github.com/libgd/libgd/releases

  2. 安装

  linux : 在编译安装时要加上 --with-gd[=dir]选项,将gd库编译进php(静态编译)或用phpize生成动态链接库引入(动态编译)

  windows : 在php.ini中引入php_gd.dll扩展

四、应用

  1. 图片压缩(用户上传文件过大,等比压缩后上传)

  

  

PHP扩展使用-GD的更多相关文章

  1. php重新编译,gd扩展支持jpeg文件

    晚上写东西的时候,报了一个错误: Call to undefined function imagecreatefromjpeg() 没有开启 jpeg 支持?原来是默认安装的 gd 扩展默认不支持 j ...

  2. php 安装扩展插件实例-gd库

    今天给php 安装一个扩展插件 gd库   一.gd库是什么 gd库是一个开源的图像处理库,它通过提供一系列用来处理图片的API,使其可以用来创建图表.图形.缩略图以及其他图像的处理操作. gd库支持 ...

  3. 转:Yii实战中8个必备常用的扩展,模块和widget

    转载自:http://www.yiiframework.com/wiki/180/yii8/ 在经过畅K网的实战后,总结一下在Yii的项目中会经常用到的组件和一些基本的使用方法,分享给大家,同时也给自 ...

  4. php 简易验证码(GD库)

    论坛中为了防止灌水,出现了非常多的验证码的插件.如今这里介绍一个非常easy的自己定义验证码函数,这个验证码实现的原理就是通过php扩展的gd库来实现的. 给出百度百科对验证码的定义"验证码 ...

  5. Yii实战中8个必备常用的扩展,模块和widget

    Yii实战中8个必备常用的扩展,模块和widget 在经过畅K网 的实战后,总结一下在Yii的项目中会经常用到的组件和一些基本的使用方法,分享给大家,同时也给自己留个备忘录,下面我以代码加图片说明. ...

  6. ZH奶酪:PHP图片压缩(TinyPNG在线API)和(使用Imagick扩展)

    1.调用TinyPng网站提供的API 1.1.须知 (1)tinypng的官网:https://tinypng.com/ 不知道国内访问会不会很慢,在Singapore打开这个网站很流畅: (2)A ...

  7. 在线上Linux下,PHP扩展安装(使用yum安装)

    直接操作linux,在命令模式下用yum 来安装PHP的扩展: 扩展:mbstring 命令: yum install php-mbstring* 扩展:GD库 命令:yum install php- ...

  8. wamp(win1064位家庭版+apache2.4.20+php5.5.37+mysql5.5.50)环境搭建

    wamp环境搭建之软件准备 *php:http://windows.php.net/downloads/releases/php-5.5.37-Win32-VC11-x86.zip *apache:h ...

  9. Linux服务器,PHP的10大安全配置实践

    PHP被广泛用于各种Web开发.而当服务器端脚本配置错误时会出现各种问题.现今,大部分Web服务器是基于Linux环境下运行(比如:Ubuntu,Debian等).本文例举了十大PHP最佳安全实践方式 ...

随机推荐

  1. 网络流(2)——用Ford-Fullkerson算法寻找最大流

    寻找最大流 在大规模战争中,后勤补给是重中之重,为了尽最大可能满足前线的物资消耗,后勤部队必然要充分利用每条运输网,这正好可以用最大流模型解决.如何寻找一个复杂网络上的最大流呢? 直觉上的方案 一种直 ...

  2. vue 组件之纯表格渲染--没有事件交互

    组件 名称小写==> 用-链接 02===> 属性==> empty-text="暂无数据" 当表格中没有数据 就会显示 暂无数据 <el-table-co ...

  3. 6. Vue - 声明周期

    一.官方vue生命周期流程图 二.vue声明周期介绍 beforeCreate执行时:data和el均未初始化,值为undefined created执行时:Vue 实例观察的数据对象data已经配置 ...

  4. Paper | D3: Deep Dual-Domain Based Fast Restoration of JPEG-Compressed Images

    目录 摘要 读后感 故事 深度双域法(D3) 发表于2016年CVPR. 摘要 既利用了CNN,又考虑了JPEG压缩的特性,解决JPEG图像去失真问题. 针对于压缩特性,作者考虑了JPEG压缩方案的先 ...

  5. Asp.Net Core 工作单元 UnitOfWork UOW

    Asp.Net Core 工作单元示例 来自 ABP UOW 去除所有无用特性 代码下载 : 去除所有无用特性版本,原生AspNetCore实现 差不多 2278 行代码: 链接:https://pa ...

  6. 第02组 Beta冲刺(4/5)

    队名:無駄無駄 组长博客 作业博客 组员情况 张越洋 过去两天完成了哪些任务 讨论校园百科究竟如何实现,并分配了任务 提交记录(全组共用) 接下来的计划 加快校园百科的进度 准备Beta版本的汇报 还 ...

  7. 在Ubuntu18.04.2LTS上安装电子书软件

    在Ubuntu18.04.2LTS上安装电子书软件 一.前言      很多时候我们想在Ubuntu上阅读电子书,但是Ubuntu上的软件对于这种阅读的界面支持并不好,因此我们需要自己加入喜欢的阅读器 ...

  8. vue的双向绑定原理浅析与简单实现

    很久之前看过vue的一些原理,对其中的双向绑定原理也有一定程度上的了解,只是最近才在项目上使用vue,这才决定好好了解下vue的实现原理,因此这里对vue的双向绑定原理进行浅析,并做一个简单的实现. ...

  9. 镭神激光雷达对于Autoware的适配

    1. 前言 我们的自动驾驶采用镭神激光雷达,在使用Autoware的时候,需要对镭神激光雷达的底层驱动,进行一些改变以适配Autoware. 2. 修改 (1)首先修改lslidar_c32.laun ...

  10. Redis set集合

    Set操作.Set集合就是不允许重复的列表 (无序集合) sadd(name,values) # name对应的集合中添加元素 scard(name) # 获取name对应的集合中元素个数 sdiff ...