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获取类中常量,属性,及方法列表的方法
Apr 09 PHP
一个php Mysql类 可以参考学习熟悉下
Jun 21 PHP
浅析PHP安装扩展mcrypt以及相关依赖项(PHP安装PECL扩展的方法)
Jul 05 PHP
PHP中常用的转义函数
Feb 28 PHP
php实现的SESSION类
Dec 02 PHP
php微信公众平台开发类实例
Apr 01 PHP
8个PHP数组面试题
Jun 23 PHP
PHP常见的6个错误提示及解决方法
Jul 07 PHP
php中mkdir()函数的权限问题分析
Sep 24 PHP
thinkPHP框架中执行原生SQL语句的方法
Oct 25 PHP
Laravel框架实现调用百度翻译API功能示例
May 30 PHP
php中Swoole的热更新实现代码实例
Mar 04 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/08/09 PHP
PHP时间戳格式全部汇总 (获取时间、时间戳)
2016/06/13 PHP
特殊字符、常规符号及其代码对照表
2006/06/26 Javascript
jQuery参数列表集合
2011/04/06 Javascript
简介JavaScript中的setHours()方法的使用
2015/06/11 Javascript
jquery ztree实现模糊搜索功能
2016/02/25 Javascript
深入浅析knockout源码分析之订阅
2016/07/12 Javascript
原生js获取元素样式的简单方法
2016/08/06 Javascript
Element-UI Table组件上添加列拖拽效果实现方法
2018/04/14 Javascript
JavaScript闭包与作用域链实例分析
2019/01/21 Javascript
js实现json数组分组合并操作示例
2019/02/12 Javascript
谈谈IntersectionObserver懒加载的具体使用
2019/10/15 Javascript
vue之延时刷新实例
2019/11/14 Javascript
jQuery操作选中select下拉框的值代码实例
2020/02/07 jQuery
Vue使用自定义指令实现拖拽行为实例分析
2020/06/06 Javascript
js实现翻牌小游戏
2020/07/31 Javascript
Vue自定义多选组件使用详解
2020/09/08 Javascript
Django自定义manage命令实例代码
2018/02/11 Python
Numpy 将二维图像矩阵转换为一维向量的方法
2018/06/05 Python
Python3 用matplotlib绘制sigmoid函数的案例
2020/12/11 Python
美国高端医师级美容产品电商:BeautifiedYou.com
2017/04/17 全球购物
Boden澳大利亚官网:英国在线服装公司
2018/08/05 全球购物
"火柴棍式"程序员面试题
2014/03/16 面试题
类的返射机制中的包及核心类
2016/09/12 面试题
打架检讨书50字
2014/01/11 职场文书
《蓝色的树叶》教学反思
2014/02/24 职场文书
升旗仪式主持词
2014/03/19 职场文书
机械制造专业大学生自我鉴定
2014/09/19 职场文书
房屋产权证明书
2014/10/15 职场文书
张家口市高新区党工委群众路线教育实践活动整改方案
2014/10/25 职场文书
党员个人承诺书
2015/04/27 职场文书
小学安全工作总结2015
2015/05/18 职场文书
总经理致辞
2015/07/29 职场文书
2016年圣诞节义工活动总结
2016/04/01 职场文书
2019入党申请书范文3篇
2019/08/21 职场文书
Spring整合Mybatis的全过程
2021/06/28 Java/Android