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防注入代码
Apr 07 PHP
解决PHP在DOS命令行下却无法链接MySQL的技术笔记
Dec 29 PHP
如何在php中正确的使用json
Aug 06 PHP
ThinkPHP实现二级循环读取的方法
Nov 03 PHP
PHP实现HTTP断点续传的方法
Jun 17 PHP
7个鲜为人知却非常实用的PHP函数
Jul 01 PHP
PHP生成唯一ID之SnowFlake算法
Dec 17 PHP
PHP 中常量的知识整理
Apr 14 PHP
PHP实现Redis单据锁以及防止并发重复写入
Apr 10 PHP
PHP快速排序算法实现的原理及代码详解
Apr 03 PHP
php+redis实现消息队列功能示例
Sep 19 PHP
php实现JWT验证的实例教程
Nov 26 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 动态随机生成验证码类代码
2010/04/09 PHP
解析php session_set_save_handler 函数的用法(mysql)
2013/06/29 PHP
为PHP安装imagick时出现Cannot locate header file MagickWand.h错误的解决方法
2014/11/03 PHP
微信自定义分享php代码分析
2016/11/24 PHP
PHP空值检测函数与方法汇总
2017/11/19 PHP
PHP封装的完整分页类示例
2018/08/21 PHP
AngularJS教程之简单应用程序示例
2016/08/16 Javascript
jQuery Ajax 实现在html页面实时显示用户登录状态
2016/12/30 Javascript
javascript 操作cookies详解及实例
2017/02/22 Javascript
Angular动态添加、删除输入框并计算值实例代码
2017/03/29 Javascript
vue2.0 资源文件assets和static的区别详解
2018/04/08 Javascript
jQuery解析json格式数据示例
2018/09/01 jQuery
Angular7创建项目、组件、服务以及服务的使用
2019/02/19 Javascript
js取0-9随机取4个数不重复的数字代码实例
2019/03/27 Javascript
基于vue+axios+lrz.js微信端图片压缩上传方法
2019/06/25 Javascript
Vue 实现登录界面验证码功能
2020/01/03 Javascript
[50:20]DOTA2上海特级锦标赛主赛事日 - 5 总决赛Liquid VS Secret第四局
2016/03/06 DOTA
pycharm 使用心得(九)解决No Python interpreter selected的问题
2014/06/06 Python
python UNIX_TIMESTAMP时间处理方法分析
2016/04/18 Python
Python操作使用MySQL数据库的实例代码
2017/05/25 Python
python中kmeans聚类实现代码
2018/02/23 Python
selenium+python截图不成功的解决方法
2019/01/30 Python
对python 通过ssh访问数据库的实例详解
2019/02/19 Python
Python内置random模块生成随机数的方法
2019/05/31 Python
实现Python与STM32通信方式
2019/12/18 Python
Python selenium自动化测试模型图解
2020/04/15 Python
举例讲解Python装饰器
2020/12/24 Python
CSS3实现全景图特效示例代码
2018/03/26 HTML / CSS
canvas 实现 github404动态效果的示例代码
2017/11/15 HTML / CSS
工程项目建议书范文
2014/03/12 职场文书
读书演讲主持词
2014/03/18 职场文书
家长写给孩子的评语
2014/04/18 职场文书
小学生节约用水倡议书
2014/05/15 职场文书
说好普通话圆梦你我他演讲稿
2014/09/21 职场文书
调解协议书范本
2016/03/21 职场文书
怎么禁用Windows 11快照布局? win11不使用快照布局的技巧
2021/11/21 数码科技