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入门速成(2)
Oct 09 PHP
第六节--访问属性和方法
Nov 16 PHP
编写漂亮的代码 - 将后台程序与前端程序分开
Apr 23 PHP
如何设置mysql允许外网访问
Jun 04 PHP
解析php如何将日志写进syslog
Jun 28 PHP
PHP小教程之实现双向链表
Jun 12 PHP
PHP改进计算字符串相似度的函数similar_text()、levenshtein()
Oct 27 PHP
php实现webservice实例
Nov 06 PHP
PHP MYSQL实现登陆和模糊查询两大功能
Feb 05 PHP
PHP实现的ID混淆算法类与用法示例
Aug 10 PHP
PHP PDOStatement::bindValue讲解
Jan 30 PHP
php设计模式之装饰模式应用案例详解
Jun 17 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一个解析字符串排列数组的方法
2015/05/12 PHP
jQuery向下滚动即时加载内容实现的瀑布流效果
2016/01/07 PHP
PHP实现的简单对称加密与解密方法实例小结
2017/08/28 PHP
PHP四种排序算法实现及效率分析【冒泡排序,插入排序,选择排序和快速排序】
2018/04/27 PHP
PHP中抽象类,接口功能、定义方法示例
2019/02/26 PHP
一个不错的用JavaScript实现的UBB编码函数
2007/03/09 Javascript
jquery 图片截取工具jquery.imagecropper.js
2010/04/09 Javascript
js快速排序的实现代码
2013/12/08 Javascript
基于jquery实现的图片在各种分辨率下未知的容器内上下左右居中
2014/05/11 Javascript
2014 HTML5/CSS3热门动画特效TOP10
2014/12/07 Javascript
jQuery简单验证上传文件大小及类型的方法
2016/06/02 Javascript
js实现添加可信站点、修改activex安全设置,禁用弹出窗口阻止程序
2016/08/17 Javascript
JS实现快速的导航下拉菜单动画效果附源码下载
2016/11/01 Javascript
Bootstrap Img 图片样式(推荐)
2016/12/13 Javascript
详解Sea.js中Module.exports和exports的区别
2017/02/12 Javascript
js实现文字跑马灯效果
2017/02/23 Javascript
vue 实现axios拦截、页面跳转和token 验证
2018/07/17 Javascript
mpvue微信小程序多列选择器用法之省份城市选择的实现
2019/03/07 Javascript
手动实现把python项目发布为exe可执行程序过程分享
2014/10/23 Python
Python实现的ini文件操作类分享
2014/11/20 Python
Python实现登陆文件验证方法
2018/10/06 Python
详解Python中的正斜杠与反斜杠
2019/08/09 Python
Python 解决火狐浏览器不弹出下载框直接下载的问题
2020/03/09 Python
Python常见反爬虫机制解决方案
2020/06/01 Python
澳大利亚宠物食品和用品商店:PETstock
2020/01/02 全球购物
database面试题
2013/03/28 面试题
银行毕业实习自我鉴定
2013/09/19 职场文书
自立自强的名人事例
2014/02/10 职场文书
幼儿教师寄语集锦
2014/04/03 职场文书
新学期开学演讲稿
2014/05/24 职场文书
骨干教师申报材料
2014/12/17 职场文书
硕士学位论文评语
2014/12/31 职场文书
团支部组织委员竞选稿
2015/11/21 职场文书
详解Laravel服务容器的优势
2021/05/29 PHP
vue中利用mqtt服务端实现即时通讯的步骤记录
2021/07/01 Vue.js
CSS中实现动画效果-附案例
2022/02/28 HTML / CSS