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 相关文章推荐
多文件上载系统完整版
Oct 09 PHP
杏林同学录(四)
Oct 09 PHP
使用php判断网页是否gzip压缩
Jun 25 PHP
PHP中批量生成静态html(命令行下运行PHP)
Apr 19 PHP
ASP和PHP实现生成网站快捷方式并下载到桌面的方法
May 08 PHP
PHP也能干大事 随机函数
Apr 14 PHP
php curl抓取网页的介绍和推广及使用CURL抓取淘宝页面集成方法
Nov 30 PHP
php实时倒计时功能实现方法详解
Feb 27 PHP
PHP面向对象中new self()与 new static()的区别浅析
Aug 17 PHP
PHP排序算法之简单选择排序(Simple Selection Sort)实例分析
Apr 20 PHP
laravel实现按月或天或小时统计mysql数据的方法
Oct 09 PHP
如何理解PHP核心特性命名空间
May 28 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
安健A254立体声随身听的分析与打磨
2021/03/02 无线电
部署PHP时的4个配置修改说明
2015/10/19 PHP
分享50个提高PHP执行效率的技巧
2015/12/26 PHP
PHP并发查询MySQL的实例代码
2017/08/09 PHP
Laravel jwt 多表(多用户端)验证隔离的实现
2019/12/18 PHP
javaScript对象和属性的创建方法
2007/01/15 Javascript
无缝滚动改进版支持上下左右滚动(封装成函数)
2012/12/04 Javascript
Extjs优化(二)Form表单提交通用实现
2013/04/15 Javascript
javascript正则匹配汉字、数字、字母、下划线
2014/04/10 Javascript
jQuery学习笔记之jQuery构建函数的7种方法
2014/06/03 Javascript
node.js使用npm 安装插件时提示install Error: ENOENT报错的解决方法
2014/11/20 Javascript
JS动态添加iframe的代码
2015/09/14 Javascript
JS实现点击按钮获取页面高度的方法
2015/11/02 Javascript
JS实现的表格操作类详解(添加,删除,排序,上移,下移)
2015/12/22 Javascript
Vue.js实现简单ToDoList 前期准备(一)
2016/12/01 Javascript
通过Ajax使用FormData对象无刷新上传文件方法
2016/12/08 Javascript
使用axios实现上传图片进度条功能
2017/12/21 Javascript
浅谈Webpack 持久化缓存实践
2018/03/22 Javascript
JS实现动态添加外部js、css到head标签的方法
2019/06/05 Javascript
layui点击左侧导航栏,实现不刷新整个页面,只刷新局部的方法
2019/09/25 Javascript
微信小程序批量上传图片到七牛(推荐)
2019/12/19 Javascript
Ant Design Vue 添加区分中英文的长度校验功能
2020/01/21 Javascript
Python统计列表中的重复项出现的次数的方法
2014/08/18 Python
Python实现的使用telnet登陆聊天室实例
2015/06/17 Python
机器学习经典算法-logistic回归代码详解
2017/12/22 Python
pip install urllib2不能安装的解决方法
2018/06/12 Python
Python动态生成多维数组的方法示例
2018/08/09 Python
python实现文件的分割与合并
2019/08/29 Python
在OpenCV里实现条码区域识别的方法示例
2019/12/04 Python
python通过matplotlib生成复合饼图
2020/02/06 Python
python实现二分查找算法
2020/09/18 Python
Python读取pdf表格写入excel的方法
2021/01/22 Python
HTML5上传文件显示进度的实现代码
2012/08/30 HTML / CSS
终止劳动合同协议书
2014/04/14 职场文书
建党伟业的观后感
2015/06/01 职场文书
python使用openpyxl库读写Excel表格的方法(增删改查操作)
2021/05/02 Python