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 相关文章推荐
PHP编码规范-php coding standard
Mar 16 PHP
很好用的PHP数据库类
May 27 PHP
PHP与SQL注入攻击防范小技巧
Sep 16 PHP
ThinkPHP整合百度Ueditor图文教程
Oct 21 PHP
用 Composer构建自己的 PHP 框架之构建路由
Oct 30 PHP
php基于curl扩展制作跨平台的restfule 接口
May 11 PHP
ThinkPHP连接Oracle数据库
Apr 22 PHP
php中的抽象方法和抽象类
Feb 14 PHP
PHP实现表单提交数据的验证处理功能【防SQL注入和XSS攻击等】
Jul 21 PHP
php检查函数必传参数是否存在的实例详解
Aug 28 PHP
laravel中的一些简单实用功能
Nov 03 PHP
PHP PDOStatement::fetch讲解
Jan 31 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 实例化类的一点摘记
2008/03/23 PHP
php下安装配置fckeditor编辑器的方法
2011/03/02 PHP
php判断一个数组是否为有序的方法
2015/03/27 PHP
php通过两层过滤获取留言内容的方法
2016/07/11 PHP
PHP抓取远程图片(含不带后缀的)教程详解
2016/10/21 PHP
CentOS系统中PHP安装扩展的方式汇总
2017/04/09 PHP
js列举css中所有图标的实现代码
2011/07/04 Javascript
JS获取页面窗口大小的代码解读
2011/12/01 Javascript
jquery的ajax请求全面了解
2013/03/20 Javascript
查找iframe里元素的方法可传参
2013/09/11 Javascript
键盘KeyCode值列表汇总
2013/11/26 Javascript
document.write的几点使用心得
2014/05/14 Javascript
js实现checkbox全选、不选与反选的方法
2015/02/09 Javascript
Javascript随机标签云代码实例
2016/06/21 Javascript
关于Vue Webpack2单元测试示例详解
2017/08/14 Javascript
基于bootstrap写的一点localStorage本地储存
2017/11/21 Javascript
如何使用puppet替换文件中的string
2018/12/06 Javascript
vue-dplayer 视频播放器实例代码
2019/11/08 Javascript
Vue 中 filter 与 computed 的区别与用法解析
2019/11/21 Javascript
[02:18]《我与DAC》之工作人员:为了热爱DOTA2的玩家们
2018/03/28 DOTA
python实现DNS正向查询、反向查询的例子
2014/04/25 Python
Python内置数据类型详解
2014/08/18 Python
Numpy数组转置的两种实现方法
2018/04/17 Python
python shutil文件操作工具使用实例分析
2019/12/25 Python
Python如何定义有可选参数的元类
2020/07/31 Python
python制作一个简单的gui 数据库查询界面
2020/11/19 Python
利用简洁的图片预加载组件提升html5移动页面的用户体验
2016/03/11 HTML / CSS
基于HTML5实现类似微信手机摇一摇功能(计算摇动次数)
2017/07/24 HTML / CSS
斯凯奇新西兰官网:SKECHERS新西兰
2018/02/22 全球购物
一道Delphi面试题
2016/10/28 面试题
医学专业大学生求职的自我评价
2013/11/27 职场文书
物流司机岗位职责
2013/12/28 职场文书
村捐赠仪式答谢词
2014/01/21 职场文书
2014年销售工作总结范文
2014/12/01 职场文书
《玩出了名堂》教学反思
2016/02/17 职场文书
SQL Server删除表中的重复数据
2022/05/25 SQL Server