PHP扩展使用-GD
一、相关函数
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的更多相关文章
- php重新编译,gd扩展支持jpeg文件
晚上写东西的时候,报了一个错误: Call to undefined function imagecreatefromjpeg() 没有开启 jpeg 支持?原来是默认安装的 gd 扩展默认不支持 j ...
- php 安装扩展插件实例-gd库
今天给php 安装一个扩展插件 gd库 一.gd库是什么 gd库是一个开源的图像处理库,它通过提供一系列用来处理图片的API,使其可以用来创建图表.图形.缩略图以及其他图像的处理操作. gd库支持 ...
- 转:Yii实战中8个必备常用的扩展,模块和widget
转载自:http://www.yiiframework.com/wiki/180/yii8/ 在经过畅K网的实战后,总结一下在Yii的项目中会经常用到的组件和一些基本的使用方法,分享给大家,同时也给自 ...
- php 简易验证码(GD库)
论坛中为了防止灌水,出现了非常多的验证码的插件.如今这里介绍一个非常easy的自己定义验证码函数,这个验证码实现的原理就是通过php扩展的gd库来实现的. 给出百度百科对验证码的定义"验证码 ...
- Yii实战中8个必备常用的扩展,模块和widget
Yii实战中8个必备常用的扩展,模块和widget 在经过畅K网 的实战后,总结一下在Yii的项目中会经常用到的组件和一些基本的使用方法,分享给大家,同时也给自己留个备忘录,下面我以代码加图片说明. ...
- ZH奶酪:PHP图片压缩(TinyPNG在线API)和(使用Imagick扩展)
1.调用TinyPng网站提供的API 1.1.须知 (1)tinypng的官网:https://tinypng.com/ 不知道国内访问会不会很慢,在Singapore打开这个网站很流畅: (2)A ...
- 在线上Linux下,PHP扩展安装(使用yum安装)
直接操作linux,在命令模式下用yum 来安装PHP的扩展: 扩展:mbstring 命令: yum install php-mbstring* 扩展:GD库 命令:yum install php- ...
- 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 ...
- Linux服务器,PHP的10大安全配置实践
PHP被广泛用于各种Web开发.而当服务器端脚本配置错误时会出现各种问题.现今,大部分Web服务器是基于Linux环境下运行(比如:Ubuntu,Debian等).本文例举了十大PHP最佳安全实践方式 ...
随机推荐
- Ubuntu16.04初始配置
Ubuntu16.04初始化 清理系统 删除libreoffice:sudo apt-get remove libreoffice-common 删除Amazon链接:sudo apt-get rem ...
- day47_9_6(前端之js)
一.js发展. 1996年11月,JavaScript的创造者--Netscape公司,决定将JavaScript提交给国际标准化组织ECMA,希望这门语言能够成为国际标准.次年,ECMA发布262号 ...
- 求解LCA问题的几种方式
求解LCA问题的几种方式 这篇随笔讲解图论中LCA问题(最近公共祖先)的几种求解方式及实现方法.LCA问题属于高级图论,所以希望读者学习过初级图论,知道图的一些基本知识,并懂得深搜算法的实现方式.这样 ...
- CF1252J Tiling Terrace
CF1252J Tiling Terrace 洛谷评测传送门 题目描述 Talia has just bought an abandoned house in the outskirt of Jaka ...
- CF798D Mike and distribution
CF798D Mike and distribution 洛谷评测传送门 题目描述 Mike has always been thinking about the harshness of socia ...
- 快速获取 IP 地址
IP 地址可以分为两类,公用和私有(专用).公用 IP 是唯一的 IP 地址,可以从 Internet 访问.专用 IP 地址保留供您专用网络内部使用,而不会直接暴露给 Internet. 本文将介绍 ...
- TCP的三次握手与四次挥手理解
本文经过借鉴书籍资料.他人博客总结出的知识点,欢迎提问 序列号seq:占4个字节,用来标记数据段的顺序,TCP把连接中发送的所有数据字节都编上一个序号,第一个字节的编号由本地随机产生:给字节编上序号后 ...
- Java连载20-复习、switch语句
一.复习 1.标识符(自己定义的,下划线.美元符号) 2.驼峰命名(变量名,方法名首字母小写) 3.关键字(就是固定的那几个) 4.字面值(数据.有类型.八种基本类型从小到大,byte\char=sh ...
- 三、ForkJoin分析
ForkJoin分析 一.ForkJoin ForkJoin是由JDK1.7后提供多线并发处理框架.ForkJoin的框架的基本思想是分而治之.什么是分而治之?分而治之就是将一个复杂的计算,按照设 ...
- Java-100天知识进阶-JVM内存-知识铺(三)
知识铺: 致力于打造轻知识点,持续更新每次的知识点较少,阅读不累.不占太多时间,不停的来唤醒你记忆深处的知识点. Java内存模型(JMM) JVM内存模式是JVM的内存分区 Java内存模式是一种虚 ...