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 相关文章推荐
PHP5在Apache下的两种模式的安装
Sep 05 PHP
十天学会php之第一天
Oct 09 PHP
Php注入点构造代码
Jun 14 PHP
深入php数据采集的详解
Jun 02 PHP
解析php中如何直接执行SHELL
Jun 28 PHP
ThinkPHP在新浪SAE平台的部署实例
Oct 31 PHP
php使用curl获取https请求的方法
Feb 11 PHP
php如何实现只替换一次或N次
Oct 29 PHP
基于PHP代码实现中奖概率算法可用于刮刮卡、大转盘等抽奖算法
Dec 20 PHP
php实现的双色球算法示例
Jun 20 PHP
PHP开启目录引索+fancyindex漂亮目录浏览带搜索功能
Sep 23 PHP
PHP保存Base64图片base64_decode的问题整理
Nov 04 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
CI框架验证码CAPTCHA辅助函数用法实例
2014/11/05 PHP
在子窗口中关闭父窗口的一句代码
2013/10/21 Javascript
js判断undefined类型,undefined,null, 的区别详细解析
2013/12/16 Javascript
jQuery平滑旋转幻灯片特效代码分享
2015/09/07 Javascript
每天一篇javascript学习小结(面向对象编程)
2015/11/20 Javascript
JS中artdialog弹出框控件之提交表单思路详解
2016/04/18 Javascript
微信js-sdk界面操作接口用法示例
2016/10/12 Javascript
JS填写银行卡号每隔4位数字加一个空格
2016/12/19 Javascript
bootstrap导航、选项卡实现代码
2016/12/28 Javascript
Bootstrap3 多选和单选框(checkbox)
2016/12/29 Javascript
Javascript 实现匿名递归的实例代码
2017/05/25 Javascript
关于TypeScript中import JSON的正确姿势详解
2017/07/25 Javascript
AngularJS中的作用域实例分析
2018/05/16 Javascript
js图片无缝滚动插件使用详解
2020/05/26 Javascript
基于layPage插件实现两种分页方式浅析
2019/07/27 Javascript
vue随机验证码组件的封装实现
2020/02/19 Javascript
JavaScript正则表达式验证登录实例
2020/03/18 Javascript
[14:03]2017DOTA2亚洲邀请赛开幕式:12神兵演绎水墨中华
2017/04/01 DOTA
[54:30]Liquid vs Newbee 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
[33:19]完美世界DOTA2联赛PWL S2 PXG vs InkIce 第一场 11.26
2020/11/30 DOTA
Python使用django搭建web开发环境
2017/06/09 Python
解决Python网页爬虫之中文乱码问题
2018/05/11 Python
Python框架Flask的基本数据库操作方法分析
2018/07/13 Python
深入理解Python异常处理的哲学
2019/02/01 Python
在Python中使用filter去除列表中值为假及空字符串的例子
2019/11/18 Python
python 实现字符串下标的输出功能
2020/02/13 Python
Python 面向对象部分知识点小结
2020/03/09 Python
python 从list中随机取值的方法
2020/11/16 Python
金宝贝童装官网:Gymboree
2016/08/31 全球购物
大学生农村教师实习自我鉴定
2013/09/21 职场文书
公司接待方案
2014/03/08 职场文书
机电一体化专业求职信
2014/07/22 职场文书
小兵张嘎观后感
2015/06/03 职场文书
公司转让协议书
2016/03/19 职场文书
SpringBoot2 参数管理实践之入参出参与校验的方式
2021/06/16 Java/Android
Win11任务栏无法正常显示 资源管理器不停重启的解决方法
2022/07/07 数码科技