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 相关文章推荐
mysql5写入和读出乱码解决
Nov 25 PHP
php站内搜索关键词变亮的实现方法
Dec 30 PHP
php+mysqli使用面向对象方式查询数据库实例
Jan 29 PHP
Codeigniter发送邮件的方法
Mar 19 PHP
PHP模拟asp.net的StringBuilder类实现方法
Aug 08 PHP
常见的四种POST 提交数据方式(小总结)
Oct 08 PHP
php 数组元素快速去重
May 05 PHP
Thinkphp 空操作、空控制器、命名空间(详解)
May 05 PHP
微信开发之获取JSAPI TICKET
Jul 07 PHP
PHP设计模式之原型模式定义与用法详解
Apr 03 PHP
PHP7创建销毁session的实例方法
Feb 03 PHP
PHP解密支付宝小程序的加密数据、手机号的示例代码
Feb 26 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 MySQL与分页效率
2008/06/04 PHP
Ext.data.PagingMemoryProxy分页一次性读取数据的实现代码
2010/04/07 PHP
php include加载文件两种方式效率比较
2010/08/08 PHP
js跨浏览器实现将字符串转化为xml对象的方法
2013/09/25 Javascript
浏览器的JavaScript引擎的识别方法
2013/10/20 Javascript
Node.js中require的工作原理浅析
2014/06/24 Javascript
jquery中each遍历对象和数组示例
2014/08/05 Javascript
jQuery中clearQueue()方法用法实例
2014/12/29 Javascript
详解JavaScript中的4种类型识别方法
2015/09/14 Javascript
jQuery获取浏览器类型和版本号的方法
2016/07/05 Javascript
jQuery+ajax实现实用的点赞插件代码
2016/07/06 Javascript
Javascript 调用 ActionScript 的简单方法
2016/09/22 Javascript
ES6中Math对象的部分扩展
2017/02/20 Javascript
利用JS实现一个同Excel表现的智能填充算法
2018/08/13 Javascript
朴素贝叶斯算法的python实现方法
2014/11/18 Python
python中执行shell的两种方法总结
2017/01/10 Python
python批量读取txt文件为DataFrame的方法
2018/04/03 Python
Python发展史及网络爬虫
2019/06/19 Python
python实现代码统计程序
2019/09/19 Python
Python小程序 控制鼠标循环点击代码实例
2019/10/08 Python
Python图片的横坐标汉字实例
2019/12/04 Python
浅析pip安装第三方库及pycharm中导入第三方库的问题
2020/03/10 Python
Python要求O(n)复杂度求无序列表中第K的大元素实例
2020/04/02 Python
使用Python实现微信拍一拍功能的思路代码
2020/07/09 Python
StubHub巴西:购买和出售您的门票
2016/07/22 全球购物
自我鉴定思想方面
2013/10/07 职场文书
解除劳动合同协议书
2014/04/14 职场文书
乡镇消防安全责任书
2014/07/23 职场文书
2014年四风问题个人对照自查剖析材料
2014/09/15 职场文书
行政秘书工作自我鉴定
2014/09/15 职场文书
抗洪救灾标语
2014/10/08 职场文书
2014年单位法制宣传日活动总结
2014/11/01 职场文书
《中彩那天》教学反思
2016/02/24 职场文书
2016年学校“3.12”植树节活动总结
2016/03/16 职场文书
2016年党员创先争优公开承诺书
2016/03/25 职场文书
导游词之南京中山陵
2019/11/27 职场文书