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 相关文章推荐
层叠菜单的动态生成
Oct 09 PHP
php 文章采集正则代码
Dec 28 PHP
php二维数组排序与默认自然排序的方法介绍
Apr 27 PHP
关于php 接口问题(php接口主要也就是运用curl,curl函数)
Jul 01 PHP
php简单实现sql防注入的方法
Apr 22 PHP
php使用pclzip类实现文件压缩的方法(附pclzip类下载地址)
Apr 30 PHP
对PHP依赖注入的理解实例分析
Oct 09 PHP
Zend Framework处理Json数据方法详解
Dec 09 PHP
PHP合并两个或多个数组的方法
Jan 20 PHP
Laravel框架实现多数据库连接操作详解
Jul 12 PHP
PHP实现的微信APP支付功能示例【基于TP5框架】
Sep 16 PHP
PHP dirname功能及原理实例解析
Oct 28 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
法兰绒滤网冲泡
2021/03/03 冲泡冲煮
PHP 加密解密内部算法
2010/04/22 PHP
php实现TCP端口检测的方法
2015/04/01 PHP
PHP+Mysql+jQuery实现发布微博程序 php篇
2015/10/15 PHP
yii2.0框架场景的简单使用示例
2020/01/25 PHP
js中的scroll和offset 使用比较的实例与分析
2013/09/29 Javascript
使用jQuery时Form表单元素ID和name命名大忌
2014/03/06 Javascript
JavaScript小技巧整理
2015/12/30 Javascript
BootStrap智能表单demo示例详解
2016/06/13 Javascript
浅谈js中用$(#ID)来作为选择器的问题(id重复的时候)
2017/02/14 Javascript
angularjs实现过滤并替换关键字小功能
2017/09/19 Javascript
vue 自定义 select内置组件
2018/04/10 Javascript
vue移动端弹框组件的实例
2018/09/25 Javascript
利用JS动态生成隔行换色HTML表格的两种方法
2018/10/09 Javascript
JavaScript类型相关的常用操作总结
2019/02/14 Javascript
vue基于viewer实现的图片查看器功能
2019/04/12 Javascript
jquery.pager.js分页实现详解
2019/07/29 jQuery
JS面向对象编程基础篇(二) 封装操作实例详解
2020/03/03 Javascript
js实现简单音乐播放器
2020/06/30 Javascript
Python pickle类库介绍(对象序列化和反序列化)
2014/11/21 Python
Python中atexit模块的基本使用示例
2015/07/08 Python
Python操作csv文件实例详解
2017/07/31 Python
Python通过for循环理解迭代器和生成器实例详解
2019/02/16 Python
Python如何获取Win7,Win10系统缩放大小
2020/01/10 Python
python中Ansible模块的Playbook的具体使用
2020/05/28 Python
Django返回HTML文件的实现方法
2020/09/17 Python
python实现在列表中查找某个元素的下标示例
2020/11/16 Python
Abe’s of Maine:自1979以来销售相机和电子产品
2016/11/21 全球购物
露营世界:Camping World
2017/02/02 全球购物
PHP笔试题
2012/02/22 面试题
安全资料员岗位职责
2013/12/14 职场文书
对公司合理化的建议书
2014/03/12 职场文书
幼儿园小班开学寄语(2016秋季)
2015/12/03 职场文书
pandas 实现将NaN转换为None
2021/05/14 Python
解决pytorch-gpu 安装失败的记录
2021/05/24 Python
MySql数据库触发器使用教程
2022/06/01 MySQL