php输出图像的方法实例分析


Posted in PHP onFebruary 16, 2017

本文实例讲述了php输出图像的方法。分享给大家供大家参考,具体如下:

PHP作为一种Web语言,无论是解析出的HTML代码还是二进制的图片,最终都要通过浏览器显示。应用GD2函数绘制图像首先需要用header()函数发送HTTP头信息给浏览器,告知所要输出的图像的类型,然后应用imagegif()函数、imagejpeg()函数或者imagepng()函数等分别输出GIF,JPG和PNG格式的图片。

header(string,replace,http_response_code)


参数 描述
string 必需。规定要发送的报头字符串。
replace 可选。指示该报头是否替换之前的报头,或添加第二个报头。 默认是 true(替换)。false(允许相同类型的多个报头)。
http_response_code 可选。把 HTTP 响应代码强制为指定的值。(PHP 4 以及更高版本可用)

bool imagegif( resource $image[, string $filename] )

imagegif()函数从image图像以filename为文件名创建一个GIF图像。image参数是imagecreate()或imagecreatefromgif()等创建图像函数的返回值,图像格式为GIF。如果应用imagecolortransparent()函数,则图像设置为透明,格式即为gif。filename参数为可选,如果省略,则原始图像流将被直接输出。

imagejpeg()imagepng()函数的使用方法与imagegif()函数的使用方法类似,这里不再讨论。

例如:

首先应用header()函数发送HTTP头信息给浏览器告知输出的媒体类型,在这里输出GIF格式的图片,然后创建一副192*36像素的画布,并在画布上绘制"I Like PHP"的文字,最后应用函数imagegif()输出所创建的图像。

<?php
 header("Content-type:image/gif");
 $image = imagecreatetruecolor(192,36); //新建图像
 $trans_color = imagecolorAllocate($image,200,200,200); //分配一个灰色
 imagefill($image,0,0,$trans_color); // 从左上角开始填充灰色
 $color = imagecolorallocate($image,255,0,255); //设置图像中文字的颜色
 imagettftext($image,18,0,50,26,$color,"arial.ttf","I Like PHP");//输出文字
 imagegif($image);//输出图像
 imagedestroy($image);//释放内存空间

运行结果为:

php输出图像的方法实例分析

代码解析:

imagecreatetruecolor(int x,int y)建立的是一幅大小为x和y的黑色图像(默认为黑色),如想改变背景颜色则需要用填充颜色函数imagefill($img,0,0,$color);

imagecreate 新建一个空白图像资源,用imagecolorallocate()添加背景色

array Imagettftext(int im, int size, int angle, int x, int y, int col, string fontfile, string text);

本函数将 TTF (TrueType Fonts) 字型文字写入图片。参数 size 为字形的尺寸;angle 为字型的角度,顺时针计算,0 度为水平,也就是三点钟的方向 (由左到右),90 度则为由下到上的文字;x,y 二参数为文字的坐标值 (原点为左上角);参数 col 为字的颜色;fontfile 为字型文件名称,亦可是远端的文件;text 当然就是字符串内容了。返回值为数组,包括了八个元素,头二个分别为左下的x、y 坐标,第三、四个为右下角的 x、y 坐标,第五、六及七、八二组分别为右上及左上的 x、y 坐标。

注意此函数中的fontfile的路径问题,上例中,字体文件和PHP文件处于同一个目录中。

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
PHP添加MySQL数据记录代码
Jun 07 PHP
PHP 压缩文件夹的类代码
Nov 05 PHP
php 修改、增加xml结点属性的实现代码
Oct 22 PHP
解决CodeIgniter伪静态失效
Jun 09 PHP
php操作xml入门之xml标签的属性分析
Jan 23 PHP
php递归调用删除数组空值元素的方法
Apr 28 PHP
PHP实现搜索地理位置及计算两点地理位置间距离的实例
Jan 08 PHP
PHP内核学习教程之php opcode内核实现
Jan 27 PHP
thinkphp3.x自定义Action、Model及View的简单实现方法
May 19 PHP
php中的抽象方法和抽象类
Feb 14 PHP
PHP判断是手机端还是PC端 PHP判断是否是微信浏览器
Mar 15 PHP
使用composer命令加载vendor中的第三方类库 的方法
Jul 09 PHP
替换php字符串中的单引号为双引号的方法
Feb 16 #PHP
php中照片旋转 (orientation) 问题的正确处理
Feb 16 #PHP
php使用PDO事务配合表格读取大量数据插入操作实现方法
Feb 16 #PHP
php的PDO事务处理机制实例分析
Feb 16 #PHP
php使用include 和require引入文件的区别
Feb 16 #PHP
Yii2实现UploadedFile上传文件示例
Feb 15 #PHP
使用PHPMailer发送邮件实例
Feb 15 #PHP
You might like
PHP strtr() 函数使用说明
2008/11/21 PHP
ThinkPHP的L方法使用简介
2014/06/18 PHP
解决ThinkPHP关闭调试模式时报错的问题汇总
2015/04/22 PHP
twig模板常用语句实例小结
2016/02/04 PHP
PHP MVC框架路由学习笔记
2016/03/02 PHP
php array_slice 取出数组中的一段序列实例
2016/11/04 PHP
yii使用bootstrap分页样式的实例
2017/01/17 PHP
深入解析Laravel5.5中的包自动发现Package Auto Discovery
2017/09/13 PHP
php和vue配合使用技巧和方法
2019/05/09 PHP
PHP 数组黑名单/白名单实例代码详解
2019/06/04 PHP
在 Laravel 项目中使用 webpack-encore的方法
2019/07/21 PHP
JS获取时间的方法
2015/01/21 Javascript
javascript实现图片循环渐显播放的方法
2015/02/24 Javascript
JQuery ztree带筛选、异步加载实例讲解
2016/02/25 Javascript
AngularJS 单选框及多选框的双向动态绑定
2017/04/20 Javascript
详解vue-cli与webpack结合如何处理静态资源
2017/09/19 Javascript
JS判断数组那点事
2017/10/10 Javascript
js读取本地文件的实例
2017/12/22 Javascript
node.js微信小程序配置消息推送的实现
2019/02/13 Javascript
JS代码简洁方式之函数方法详解
2020/07/28 Javascript
详解Vue.js3.0 组件是如何渲染为DOM的
2020/11/10 Javascript
[01:13]2014DOTA2西雅图邀请赛 舌尖上的TI4
2014/07/08 DOTA
Python中itertools模块用法详解
2014/09/25 Python
Python3的介绍、安装和命令行的认识(推荐)
2018/10/20 Python
Tensorflow读取并输出已保存模型的权重数值方式
2020/01/04 Python
Python读取多列数据以及用matplotlib制作图表方法实例
2020/09/23 Python
西海岸男士和男童服装:Johnnie-O
2018/03/15 全球购物
Jones New York官网:美国女装品牌,受白领女性欢迎
2019/11/26 全球购物
怎样从/向数据文件读/写结构
2014/11/23 面试题
茶叶店创业计划书范文
2014/01/19 职场文书
退伍老兵事迹材料
2014/01/31 职场文书
2015年仓库管理员工作总结
2015/04/21 职场文书
高中军训感想
2015/08/07 职场文书
小学2016年“我们的节日·重阳节”活动总结
2016/04/01 职场文书
导游词之天津古文化街
2019/11/09 职场文书
JavaScript 对象创建的3种方法
2021/11/17 Javascript