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音乐采集(部分代码)
Feb 14 PHP
php网上商城购物车设计代码分享
Feb 15 PHP
Php Ctemplate引擎开发相关内容
Mar 03 PHP
php中time()和mktime()方法的区别
Sep 28 PHP
thinkphp实现多语言功能(语言包)
Mar 04 PHP
php统计文章排行示例
Mar 04 PHP
php生成静态页面的简单示例
Apr 17 PHP
PHP取余函数介绍MOD(x,y)与x%y
May 15 PHP
php实现的简单美国商品税计算函数
Jul 13 PHP
php设计模式之单例模式代码
Jun 11 PHP
PHP中spl_autoload_register()函数用法实例详解
Jul 18 PHP
PHP从零开始打造自己的MVC框架之类的自动加载实现方法详解
Jun 03 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 获取百度的热词数据的代码
2012/02/18 PHP
PHP语法小结之基础和变量
2015/11/22 PHP
php+jQuery+Ajax简单实现页面异步刷新
2016/08/08 PHP
PHP 闭包详解及实例代码
2016/09/28 PHP
PDO::prepare讲解
2019/01/29 PHP
js活用事件触发对象动作
2008/08/10 Javascript
基于jquery的仿百度的鼠标移入图片抖动效果
2010/09/17 Javascript
JavaScript获得页面base标签中url的方法
2015/04/03 Javascript
jQuery使用$.ajax进行即时验证实例详解
2015/12/11 Javascript
TypeOf这些知识点你了解吗
2016/02/21 Javascript
js实现4个方向滚动的球
2017/03/06 Javascript
使用InstantClick.js让页面提前加载200ms
2017/09/12 Javascript
详解通过源码解析Node.js中cluster模块的主要功能实现
2018/05/16 Javascript
js实现全选反选不选功能代码详解
2019/04/24 Javascript
微信小程序本地存储实现每日签到、连续签到功能
2019/10/09 Javascript
[02:40]DOTA2超级联赛专访430 从小就爱玩对抗性游戏
2013/06/18 DOTA
[55:11]完美世界DOTA2联赛PWL S2 SZ vs LBZS 第一场 11.26
2020/11/30 DOTA
Python 列表(List) 的三种遍历方法实例 详解
2017/04/15 Python
Python matplotlib画图实例之绘制拥有彩条的图表
2017/12/28 Python
基于Python实现迪杰斯特拉和弗洛伊德算法
2020/05/27 Python
对python For 循环的三种遍历方式解析
2019/02/01 Python
pyqt5对用qt designer设计的窗体实现弹出子窗口的示例
2019/06/19 Python
python线程里哪种模块比较适合
2020/08/02 Python
python 下载文件的几种方法汇总
2021/01/06 Python
晚会主持词开场白
2014/03/17 职场文书
小学社团活动总结
2014/06/27 职场文书
工作收入住址证明
2014/10/28 职场文书
小学教师学习党的群众路线教育实践活动心得体会
2014/10/31 职场文书
清明节网上祭英烈寄语2015
2015/03/04 职场文书
唐山大地震的观后感
2015/06/05 职场文书
2015年度个人工作总结报告
2015/10/24 职场文书
培训心得体会怎么写
2016/01/25 职场文书
2016年第十四个公民道德宣传日活动总
2016/04/01 职场文书
导游词之澳门玫瑰圣母堂
2019/12/03 职场文书
写好Python代码的几条重要技巧
2021/05/21 Python
SQL Server删除表中的重复数据
2022/05/25 SQL Server