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 相关文章推荐
用Apache反向代理设置对外的WWW和文件服务器
Oct 09 PHP
PHP面向对象的使用教程 简单数据库连接
Nov 25 PHP
php你的验证码安全码?
Jan 02 PHP
mayfish 数据入库验证代码
Apr 30 PHP
php foreach 参数强制类型转换的问题
Dec 10 PHP
深入php socket的讲解与实例分析
Jun 13 PHP
PHP四种基本排序算法示例
Apr 09 PHP
PHP函数func_num_args用法实例分析
Dec 07 PHP
使用PHP实现微信摇一摇周边红包
Jan 04 PHP
php similar_text()函数的定义和用法
May 12 PHP
PHP简单获取随机数的常用方法小结
Jun 07 PHP
laravel 关联关系遍历数组的例子
Oct 10 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
PHP中exec函数和shell_exec函数的区别
2014/08/20 PHP
PHP使用feof()函数读文件的方法
2014/11/07 PHP
php格式输出文件var_export函数实例
2014/11/15 PHP
php将textarea数据提交到mysql出现很多空格的解决方法
2014/12/19 PHP
完美的php分页类
2017/10/24 PHP
PHP生成随机数的方法总结
2018/03/01 PHP
JavaScript获取GridView选择的行内容
2009/04/14 Javascript
网站页面自动跳转实现方法PHP、JSP(下)
2010/08/01 Javascript
原生JS实现表单checkbook获取已选择的值
2013/07/21 Javascript
JavaScript 函数惰性载入的实现及其优点介绍
2013/08/12 Javascript
批量修改标签css样式以input标签为例
2014/07/31 Javascript
jQuery自定义数值抽奖活动代码
2016/06/11 Javascript
javascript中replace使用方法总结
2017/03/01 Javascript
JS中的Replace()传入函数时的用法详解
2017/09/11 Javascript
vue做网页开场视频的实例代码
2017/10/20 Javascript
Angular实现下拉框模糊查询功能示例
2018/01/03 Javascript
VUEJS 2.0 子组件访问/调用父组件的实例
2018/02/10 Javascript
vue单页开发父子组件传值思路详解
2018/05/18 Javascript
Vue+Element实现表格编辑、删除、以及新增行的最优方法
2019/05/28 Javascript
tweenjs缓动算法的使用实例分析
2019/08/26 Javascript
javascript实现获取中文汉字拼音首字母
2020/05/19 Javascript
基于Vue.js+Nuxt开发自定义弹出层组件
2020/10/09 Javascript
一个小示例告诉你Python语言的优雅之处
2014/07/04 Python
pyspark.sql.DataFrame与pandas.DataFrame之间的相互转换实例
2018/08/02 Python
Python函数返回不定数量的值方法
2019/01/22 Python
Python Lambda函数使用总结详解
2019/12/11 Python
python爬虫模拟浏览器访问-User-Agent过程解析
2019/12/28 Python
pycharm 配置svn的图文教程(手把手教你)
2021/01/15 Python
Python数据模型与Python对象模型的相关总结
2021/01/26 Python
6号汽车旅馆预订:Motel 6
2018/02/11 全球购物
美国唇部护理专家:Sara Happ
2019/06/19 全球购物
解释下列WebService名词:WSDL、SOAP、UDDI
2012/06/22 面试题
大学新生入学教育方案
2014/05/16 职场文书
小学课外阅读总结
2014/07/09 职场文书
ktv服务员岗位职责
2015/02/09 职场文书
为什么MySQL分页用limit会越来越慢
2021/07/25 MySQL