PHP GD库生成图像的几个函数总结


Posted in PHP onNovember 19, 2014

使用GD库中提供的函数动态绘制完成图像以后,就需要输出到浏览器或者将图像保存起来。在PHP中,可以将动态绘制完成的画布,直接生成GIF、JPEG、PNG和WBMP四种图像格式。可以通过调用下面四个函数生成这些格式的图像:

bool imagegif(resource $image[,string $filename])                              //以GIF格式将图像输出

bool imagejpeg(resource $image[,string $filename[,int $quality]])                        //以JPEG格式将图像输出

bool imagepng(resource $image[,string $filename])                                 //以PNG格式将图像输出

bool imagewbmp(resource $image[,string $filename[,int $foreground]])                      //以WBMP格式将图像输出

以上四个函数的使用类似,前两个参数的使用是相同的。第一个参数$image为必选项,是前面介绍的图像引用句柄。如果部位这些函数提供其他参数,访问时则直接将原图像流出,并在浏览器使用中显示动态输出的图像。但一定要在输出之前,使用header()函数发送标头信息,用来通知浏览器使用正确的MIME类型对接收的内容进行解析,让它知道我们发送的是图片而不似乎文本的HTML。以下代码段通过自动检测GD库支持的图像类型,来写出移植性更好的PHP程序。如下所示:

<?php

    if(function_exists("imagegif")){                //判断生成GIF格式图像的函数是否存在

        header("Content-type:image/gif");           //发送标头信息设置MIME类型为image/gif

        imagegif($im);                              //以GIF格式将图像输出到浏览器

    }elseif(function_exists("imageipeg")){

        header("Content-type:image/jpeg");

        imagejpeg($im,"",0.5);

    }elseif(function_exists("imagepng")){

        header("Content-type:image/png");

        imagepng($im);

    }elseif(function_exists("imagewbmp")){

        header("Content-type:image/wbmp");

        imagewbmp($im);

    }else{

        die("在PHP服务器中,不支持图像");

    }

?>

如果希望将PHP动态绘制的图像保存在本地服务器上,则必须在第二个可选参数中指定一个文件名字符串。这样不仅不会将图像直接输出到浏览器,也不需要使用header()函数发送标头信息。如果使用imageJPEG()函数生成JPEG格式的图像,还可以通过第三个可选参数$quality指定JPEG格式图像的品质,该参数可以提供的值是从0(最差品质,但文件最小)到100(最高品质,文件也最大)的整数,默认值为75.也可以为函数imageWBMP()提供第三个可选参数$forground,指定图像的前景颜色,默认颜色值为黑色。

PHP 相关文章推荐
不用iconv库的gb2312与utf-8的互换函数
Oct 09 PHP
通过5个php实例细致说明传值与传引用的区别
Aug 08 PHP
解析如何在PHP下载文件名中解决乱码的问题
Jun 20 PHP
php中hashtable实现示例分享
Feb 13 PHP
百度地图API应用之获取用户的具体位置
Jun 10 PHP
PHP中使用sleep造成mysql读取失败的案例和解决方法
Aug 21 PHP
php内嵌函数用法实例
Mar 20 PHP
PHP输出图像imagegif、imagejpeg与imagepng函数用法分析
Nov 14 PHP
PHP获取IP地址所在地信息的实例(使用纯真IP数据库qqwry.dat)
Nov 15 PHP
Yii实现复选框批量操作实例代码
Mar 15 PHP
php实现不通过扩展名准确判断文件类型的方法【finfo_file方法与二进制流】
Apr 18 PHP
laradock环境docker-compose操作详解
Jul 29 PHP
PHP中绘制图像的一些函数总结
Nov 19 #PHP
PHP中round()函数对浮点数进行四舍五入的方法
Nov 19 #PHP
PHP中创建图像并绘制文字的例子
Nov 19 #PHP
PHP图片处理之图片背景、画布操作
Nov 19 #PHP
php使用function_exists判断函数可用的方法
Nov 19 #PHP
PHP图片处理之使用imagecopyresampled函数实现图片缩放例子
Nov 19 #PHP
PHP判断一个gif图片是否为动态图片的方法
Nov 19 #PHP
You might like
CI框架安全类Security.php源码分析
2014/11/04 PHP
PHP+MYSQL实现用户的增删改查
2015/03/24 PHP
PHP  实现等比压缩图片尺寸和大小实例代码
2016/10/08 PHP
PHP内置加密函数详解
2016/11/20 PHP
jquery submit ie6下失效的原因分析及解决方法
2013/11/15 Javascript
js获取和设置属性的方法
2014/02/20 Javascript
jQuery关键词说明插件cluetip使用指南
2015/04/21 Javascript
原生JS实现美图瀑布流布局赏析
2015/09/07 Javascript
JS实现重新加载当前页面或者父页面的几种方法
2016/11/30 Javascript
vue之数据交互实例代码
2017/06/16 Javascript
深入理解angular2启动项目步骤
2017/07/15 Javascript
angular内置provider之$compileProvider详解
2017/09/27 Javascript
初识 Vue.js 中的 *.Vue文件
2017/11/22 Javascript
vue+axios+promise实际开发用法详解
2018/10/15 Javascript
JavaScript数组、json对象、eval()函数用法实例分析
2019/02/21 Javascript
Echarts动态加载多条折线图的实现代码
2019/05/24 Javascript
vue+mock.js实现前后端分离
2019/07/24 Javascript
[09:37]DOTA2卡尔工作室 英雄介绍圣堂刺客篇
2013/06/13 DOTA
详解Python中使用base64模块来处理base64编码的方法
2016/07/01 Python
Python实现 多进程导入CSV数据到 MySQL
2017/02/26 Python
python 上下文管理器使用方法小结
2017/10/10 Python
python实现人人自动回复、抢沙发功能
2018/06/08 Python
Python之用户输入的实例
2018/06/22 Python
python基于C/S模式实现聊天室功能
2019/01/09 Python
python里 super类的工作原理详解
2019/06/19 Python
python如何实现数据的线性拟合
2019/07/19 Python
简单了解python数组的基本操作
2019/11/26 Python
python框架flask入门之路由及简单实现方法
2020/06/07 Python
Python sqlalchemy时间戳及密码管理实现代码详解
2020/08/01 Python
分享一枚pycharm激活码适用所有pycharm版本我的pycharm2020.2.3激活成功
2020/11/20 Python
德国50岁以上交友网站:Lebensfreunde
2020/03/18 全球购物
班主任师德师风自我剖析材料
2014/10/02 职场文书
顶岗实习协议书
2015/01/29 职场文书
2016年社会管理综治宣传月活动总结
2016/03/16 职场文书
pandas取dataframe特定行列的实现方法
2021/05/24 Python