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 相关文章推荐
同台服务器使用缓存APC效率高于Memcached的演示代码
Feb 16 PHP
PHP 异步执行方法,模拟多线程的应用分析
Jun 03 PHP
PHP截断标题且兼容utf8和gb2312编码
Sep 22 PHP
PHP的一个完美GIF等比缩放类,附带去除缩放黑背景
Apr 01 PHP
PHP获取photoshop写入图片文字信息的方法
Mar 31 PHP
CodeIgniter视图使用注意事项
Jan 20 PHP
PHP递归实现层级树状展开
Apr 01 PHP
解读PHP中上传文件的处理问题
May 29 PHP
php支付宝在线支付接口开发教程
Sep 19 PHP
php 数组处理函数extract详解及实例代码
Nov 23 PHP
Laravel 5.4向IoC容器中添加自定义类的方法示例
Aug 15 PHP
Laravel程序架构设计思路之使用动作类
Jun 07 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 第三节 变量介绍
2012/04/28 PHP
PHP Session 变量的使用方法详解与实例代码
2013/09/11 PHP
zf框架的registry(注册表)使用示例
2014/03/13 PHP
php使用explode()函数将字符串拆分成数组的方法
2015/02/17 PHP
Yii多表联合查询操作详解
2016/06/02 PHP
浅谈PHP无限极分类原理
2019/03/14 PHP
PHP面向对象程序设计__tostring()和__invoke()用法分析
2019/06/12 PHP
JavaScript 一道字符串分解的题目
2011/08/03 Javascript
关于ExtJS4.1:快捷键支持的问题
2013/04/24 Javascript
js实现省市联动效果的简单实例
2014/02/10 Javascript
判断一个对象是否为jquery对象的方法
2014/03/12 Javascript
WEB开发之注册页面验证码倒计时代码的实现
2016/12/15 Javascript
javascript笔记之匿名函数和闭包
2017/02/06 Javascript
JS+HTML5 FileReader对象用法示例
2017/04/07 Javascript
Vue.js做select下拉列表的实例(ul-li标签仿select标签)
2018/03/02 Javascript
解决循环中setTimeout执行顺序的问题
2018/06/20 Javascript
vue路由对不同界面进行传参及跳转的总结
2019/04/20 Javascript
js实现筛选功能
2020/11/24 Javascript
python 快速排序代码
2009/11/23 Python
基于多进程中APScheduler重复运行的解决方法
2019/07/22 Python
python3.6编写的单元测试示例
2019/08/17 Python
Python3变量与基本数据类型用法实例分析
2020/02/14 Python
pytorch进行上采样的种类实例
2020/02/18 Python
Pandas直接读取sql脚本的方法
2021/01/21 Python
python Protobuf定义消息类型知识点讲解
2021/03/02 Python
numpy实现RNN原理实现
2021/03/02 Python
加拿大时尚潮流大码女装购物网站:Addition Elle
2018/04/02 全球购物
丽笙酒店官方网站:Radisson Hotels
2019/05/07 全球购物
澳大利亚个性化儿童礼品网站:Bright Star Kids
2019/06/14 全球购物
同步和异步有何异同,在什么情况下分别使用他们?举例说明
2014/02/27 面试题
自荐信的禁忌和要点
2013/10/15 职场文书
新学期红领巾广播稿
2014/01/14 职场文书
质量保证书范本
2014/04/29 职场文书
个人学习党的群众路线教育实践活动心得体会
2014/11/05 职场文书
如何获取numpy array前N个最大值
2021/05/14 Python
Python闭包的定义和使用方法
2022/04/11 Python