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 相关文章推荐
一个ftp类(ini.php)
Oct 09 PHP
php自动适应范围的分页代码
Aug 05 PHP
PHP中strtotime函数使用方法分享
Jan 10 PHP
php简单实现无限分类树形列表的方法
Mar 27 PHP
php获得网站访问统计信息类Compete API用法实例
Apr 02 PHP
PHP生成静态HTML页面最简单方法示例
Apr 09 PHP
PHP中的流(streams)浅析
Jul 02 PHP
php实现将Session写入数据库
Jul 26 PHP
php redis实现对200w用户的即时推送
Mar 04 PHP
PHP简单读取xml文件的方法示例
Apr 20 PHP
PHP二维关联数组的遍历方式(实例讲解)
Oct 18 PHP
PHP多个图片压缩成ZIP的方法
Aug 18 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
在普通HTTP上安全地传输密码
2007/07/21 PHP
php实现过滤字符串中的中文和数字实例
2015/07/29 PHP
PHP Yaf框架的简单安装使用教程(推荐)
2016/06/08 PHP
PHP面向对象程序设计组合模式与装饰模式详解
2016/12/02 PHP
PHP微信企业号开发之回调模式开启与用法示例
2017/11/25 PHP
JavaScript 异步调用框架 (Part 5 - 链式实现)
2009/08/04 Javascript
自己写的Javascript计算时间差函数
2013/10/28 Javascript
JavaScript图片放大技术(放大镜)实现代码分享
2013/11/14 Javascript
js捕获鼠标滚轮事件代码
2013/12/16 Javascript
Jquery节点遍历next与nextAll方法使用示例
2014/07/22 Javascript
Express实现前端后端通信上传图片之存储数据库(mysql)傻瓜式教程(一)
2015/12/10 Javascript
用JS实现图片轮播效果代码(一)
2016/06/26 Javascript
基于BootStrap的Metronic框架实现页面链接收藏夹功能按钮移动收藏记录(使用Sortable进行拖动排序)
2016/08/29 Javascript
如何使用headjs来管理和异步加载js
2016/11/29 Javascript
浅谈js中startsWith 函数不能在任何浏览器兼容的问题
2017/03/01 Javascript
JavaScript中利用Array filter() 方法压缩稀疏数组
2018/02/24 Javascript
vue 设置proxyTable参数进行代理跨域
2018/04/09 Javascript
element-ui table span-method(行合并)的实现代码
2018/12/20 Javascript
vue项目中微信登录的实现操作
2020/09/08 Javascript
跟老齐学Python之有点简约的元组
2014/09/24 Python
python实现list元素按关键字相加减的方法示例
2017/06/09 Python
浅谈python 线程池threadpool之实现
2017/11/17 Python
python多继承(钻石继承)问题和解决方法简单示例
2019/10/21 Python
python3 re返回形式总结
2020/11/20 Python
使用CSS3美化HTML表单的技巧演示
2016/05/17 HTML / CSS
HTML5中FileReader接口使用方法实例详解
2017/08/26 HTML / CSS
汉米尔顿手表官网:Hamilton
2020/09/13 全球购物
27个经典Linux面试题及答案,你知道几个?
2013/01/10 面试题
人力资源专员自我评价怎么写
2013/09/19 职场文书
程序员岗位职责
2013/11/11 职场文书
平安家庭示范户事迹
2014/06/02 职场文书
派出所正风肃纪剖析材料
2014/10/10 职场文书
施工安全保证书
2015/05/09 职场文书
预备党员转正意见
2015/06/01 职场文书
医务人员岗前培训心得体会
2016/01/08 职场文书
看看如何用Python绘制小米新版天价logo
2021/04/20 Python