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 默默经典版本
Aug 04 PHP
php中的filesystem文件系统函数介绍及使用示例
Feb 13 PHP
微信支付开发交易通知实例
Jul 12 PHP
php强制下载文件函数
Aug 24 PHP
详解PHP归并排序的实现
Oct 18 PHP
PHP仿微信发红包领红包效果
Oct 30 PHP
Yii输入正确验证码却验证失败的解决方法
Jun 06 PHP
PHP开发之归档格式phar文件概念与用法详解【创建,使用,解包还原提取】
Nov 17 PHP
PHP实现多图上传和单图上传功能
May 17 PHP
PHP INT类型在内存中占字节详解
Jul 20 PHP
Yii框架常见缓存应用实例小结
Sep 09 PHP
在laravel中实现ORM模型使用第二个数据库设置
Oct 24 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修改记录的方法
2015/01/21 PHP
PHP的mysqli_select_db()函数讲解
2019/01/23 PHP
laravel-admin 管理平台获取当前登陆用户信息的例子
2019/10/08 PHP
随机显示经典句子或诗歌的javascript脚本
2007/08/04 Javascript
JavaScript 定义function的三种方式小结
2009/10/16 Javascript
JS日期和时间选择控件升级版(自写)
2013/08/02 Javascript
JavaScript判断表单提交时哪个radio按钮被选中的方法
2015/03/21 Javascript
jquery模拟alert的弹窗插件
2015/07/31 Javascript
jquery实现全屏滚动
2015/12/28 Javascript
javascript嵌套函数和在函数内调用外部函数的区别分析
2016/01/31 Javascript
利用jQuery实现CheckBox全选/全不选/反选的简单代码
2016/05/31 Javascript
HTML页面定时跳转方法解析(2种任选)
2016/12/22 Javascript
jquery实现简单实用的轮播器
2017/05/23 jQuery
Vue.js学习笔记之常用模板语法详解
2017/07/25 Javascript
在vue中使用jointjs的方法
2018/03/24 Javascript
Vue微信项目按需授权登录策略实践思路详解
2018/05/07 Javascript
JavaScript多态与封装实例分析
2018/07/27 Javascript
vue 开发之路由配置方法详解
2019/12/02 Javascript
js实现盒子拖拽动画效果
2020/08/09 Javascript
[36:33]完美世界DOTA2联赛循环赛 Matador vs Forest 第一场 11.06
2020/11/06 DOTA
Python实现的RSS阅读器实例
2015/07/25 Python
Python实现SSH远程登陆,并执行命令的方法(分享)
2017/05/08 Python
python实现杨辉三角思路
2017/07/14 Python
Python使用sorted排序的方法小结
2017/07/28 Python
Python matplotlib绘制图形实例(包括点,曲线,注释和箭头)
2020/04/17 Python
用python对excel进行操作(读,写,修改)
2020/12/25 Python
香港迪士尼乐园酒店预订:Hong Kong Disneyland Hotels
2017/05/02 全球购物
Aerosoles爱柔仕官网:美国舒软女鞋品牌
2017/07/17 全球购物
Feelunique德国官方网站:欧洲最大的在线美容零售商
2019/07/20 全球购物
Onzie官网:美国时尚瑜伽品牌
2019/08/21 全球购物
优秀团员自我评价范文
2014/04/23 职场文书
生物科学专业毕业生求职信
2014/06/02 职场文书
大学生感恩父母演讲稿
2014/08/28 职场文书
2014年采购员工作总结
2014/11/18 职场文书
2014年小学少先队工作总结
2014/12/18 职场文书
让子弹飞观后感
2015/06/11 职场文书