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 相关文章推荐
第八节 访问方式 [8]
Oct 09 PHP
PHP面向对象编程快速入门
Dec 14 PHP
file_get_contents(&quot;php://input&quot;, &quot;r&quot;)实例介绍
Jul 01 PHP
50个PHP程序性能优化的方法
Jun 02 PHP
php实现的Timer页面运行时间监测类
Sep 24 PHP
php生成html文件方法总结
Dec 01 PHP
Linux系统下使用XHProf和XHGui分析PHP运行性能
Dec 08 PHP
PHP编写登录验证码功能 附调用方法
May 19 PHP
php基于单例模式封装mysql类完整实例
Oct 18 PHP
PHP中CheckBox多选框上传失败的代码写法
Feb 13 PHP
动态表单验证的操作方法和TP框架里面的ajax表单验证
Jul 19 PHP
Laravel jwt 多表(多用户端)验证隔离的实现
Dec 18 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 Mysql编程之高级技巧
2008/08/27 PHP
页面乱码问题的根源及其分析
2013/08/09 PHP
php专用数组排序类ArraySortUtil用法实例
2015/04/03 PHP
PHP设计模式之委托模式定义与用法简单示例
2018/08/13 PHP
php版本CKEditor 4和CKFinder安装及配置方法图文教程
2019/06/05 PHP
通用于ie和firefox的函数 GetCurrentStyle (obj, prop)
2006/12/27 Javascript
List Installed Software Features
2007/06/11 Javascript
javascript 图片上一张下一张链接效果代码
2010/03/12 Javascript
javascript preload&amp;lazy load
2010/05/13 Javascript
Javascript 静态页面实现随机显示广告的办法
2010/11/17 Javascript
Sea.JS知识总结
2016/05/05 Javascript
轮播的简单实现方法
2016/07/28 Javascript
Javascript数组中push方法用法分析
2016/10/31 Javascript
AngularJS框架中的双向数据绑定机制详解【减少需要重复的开发代码量】
2017/01/19 Javascript
jQuery EasyUI 组件加上“清除”功能实例详解
2017/04/11 jQuery
基于Cookie常用操作以及属性介绍
2017/09/07 Javascript
详解如何在angular2中获取节点
2017/11/23 Javascript
[03:46]DAC趣味视频-中文考试.mp4
2017/04/02 DOTA
Python __setattr__、 __getattr__、 __delattr__、__call__用法示例
2015/03/06 Python
Python自动连接ssh的方法
2015/03/07 Python
python开发之str.format()用法实例分析
2016/02/22 Python
Python3使用PyQt5制作简单的画板/手写板实例
2017/10/19 Python
把csv文件转化为数组及数组的切片方法
2018/07/04 Python
python跳出双层for循环的解决方法
2019/06/24 Python
详解python列表(list)的使用技巧及高级操作
2019/08/15 Python
Python中 CSV格式清洗与转换的实例代码
2019/08/29 Python
canvas使用注意点总结
2013/07/19 HTML / CSS
美国在线自行车商店:Jenson USA
2018/05/22 全球购物
会计专业毕业生自我评价
2013/09/25 职场文书
实习单位鉴定评语
2014/04/26 职场文书
学校读书活动总结
2014/06/30 职场文书
大三学生学年自我鉴定
2014/09/12 职场文书
常务副县长“四风”个人对照检查材料思想汇报
2014/10/02 职场文书
2015年法务工作总结范文
2015/05/23 职场文书
导游词之云南丽江-泸沽湖
2019/09/26 职场文书
为自由献出你的心脏!「进击的巨人展 FINAL」2022年6月在台开展
2022/04/13 日漫