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 相关文章推荐
打造计数器DIY三步曲(上)
Oct 09 PHP
php expects parameter 1 to be resource, array given 错误
Mar 23 PHP
php实现aes加密类分享
Feb 16 PHP
php的declare控制符和ticks教程(附示例)
Mar 21 PHP
用PHP来计算某个目录大小的方法
Apr 01 PHP
php提示Warning:mysql_fetch_array() expects的解决方法
Dec 16 PHP
php访问数组最后一个元素的函数end()用法
Mar 18 PHP
php一个解析字符串排列数组的方法
May 12 PHP
php创建图像具体步骤
Mar 13 PHP
PHP实现生成数据字典功能示例
May 24 PHP
YII2 全局异常处理深入讲解
Mar 24 PHP
浅谈PHP7中的一些小技巧
May 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
去除链接虚线全面分析总结
2006/08/15 Javascript
IE浏览器兼容Firefox的JS脚本的代码
2008/10/23 Javascript
来自国外的30个基于jquery的Web下拉菜单
2012/06/22 Javascript
jqTransform form表单美化插件使用方法
2012/07/05 Javascript
select标签模拟/美化方法采用JS外挂式插件
2013/04/01 Javascript
JS实现div居中示例
2014/04/17 Javascript
原生JS绑定滑轮滚动事件兼容常见浏览器
2014/06/30 Javascript
用jquery修复在iframe下的页面锚点失效问题
2014/08/22 Javascript
JS实现的页面自定义滚动条效果
2015/10/26 Javascript
使用node+vue.js实现SPA应用
2016/01/28 Javascript
利用Jquery队列实现根据输入数量显示的动画
2016/09/01 Javascript
bootstrap table小案例
2016/10/21 Javascript
BootStrap中关于Select下拉框选择触发事件及扩展
2016/11/22 Javascript
解决Angular.Js与Django标签冲突的方案
2016/12/20 Javascript
浅谈js中function的参数默认值
2017/02/20 Javascript
React Native实现进度条弹框的示例代码
2017/07/17 Javascript
微信小程序基于movable-view实现滑动删除效果
2020/01/08 Javascript
[01:45]2014DOTA2 TI预选赛预选赛 战前探营!
2014/05/21 DOTA
分析在Python中何种情况下需要使用断言
2015/04/01 Python
python使用htmllib分析网页内容的方法
2015/05/08 Python
Python smallseg分词用法实例分析
2015/05/28 Python
python爬虫爬取淘宝商品信息(selenum+phontomjs)
2018/02/24 Python
使用Python实现将list中的每一项的首字母大写
2019/06/11 Python
python或C++读取指定文件夹下的所有图片
2019/08/31 Python
pycharm 2020.2.4 pip install Flask 报错 Error:Non-zero exit code的问题
2020/12/04 Python
CSS3.0实现霓虹灯按钮动画特效的示例代码
2021/01/12 HTML / CSS
华美博弈C/VC工程师笔试试题
2012/07/16 面试题
实用求职信范文分享
2013/12/25 职场文书
小学班长竞选演讲稿
2014/04/24 职场文书
学校春季防火方案
2014/06/08 职场文书
中层干部培训方案
2014/06/16 职场文书
2014年秋季开学寄语
2014/08/02 职场文书
2014年超市工作总结
2014/11/19 职场文书
张丽莉事迹观后感
2015/06/16 职场文书
2016年度师德标兵先进事迹材料
2016/02/26 职场文书
spring项目中切面及AOP的使用方法
2021/06/26 Java/Android