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中显示格式化的用户输入
Oct 09 PHP
用libtemplate实现静态网页生成
Oct 09 PHP
PHP中动态显示签名和ip原理
Mar 28 PHP
PHPUnit PHP测试框架安装方法
Mar 23 PHP
PHP数组 为文章加关键字连接 文章内容自动加链接
Dec 29 PHP
PHP中文分词 自动获取关键词介绍
Nov 13 PHP
php中选择什么接口(mysql、mysqli)访问mysql
Feb 06 PHP
PHP中把数据库查询结果输出为json格式简单实例
Apr 09 PHP
PHP中遇到的时区问题解决方法
Jul 23 PHP
php上传图片生成缩略图(GD库)
Jan 06 PHP
Symfony学习十分钟入门经典教程
Feb 03 PHP
smarty的section嵌套循环用法示例
May 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
php 解压rar文件及zip文件的方法
2014/05/05 PHP
高性能PHP框架Symfony2经典入门教程
2014/07/08 PHP
PHP实现自动识别Restful API的返回内容类型
2015/02/07 PHP
PHP实现简易blog的制作
2016/10/24 PHP
php连接mysql之mysql_connect()与mysqli_connect()的区别
2020/07/19 PHP
七个很有意思的PHP函数
2014/05/12 Javascript
javascript中Date对象的getDay方法使用指南
2014/12/22 Javascript
jQuery根据元素值删除数组元素的方法
2015/06/24 Javascript
js图片轮播手动切换效果
2015/11/10 Javascript
vue.js开发环境搭建教程
2017/05/04 Javascript
angularjs2中父子组件的数据传递的实例代码
2017/07/05 Javascript
jQuery实现table中两列CheckBox只能选中一个的示例
2017/09/22 jQuery
JS实现元素上下左右移动效果
2017/10/18 Javascript
jQuery实现的两种简单弹窗效果示例
2018/04/18 jQuery
Vue动画事件详解及过渡动画实例
2019/02/09 Javascript
Vue2.0+Vux搭建一个完整的移动webApp项目的示例
2019/03/19 Javascript
详解Vue中使用插槽(slot)、聚类插槽
2019/04/12 Javascript
快速对接payjq的个人微信支付接口过程解析
2019/08/15 Javascript
微信小程序利用button控制条件标签的变量问题
2020/03/15 Javascript
jQuery 函数实例分析【函数声明、函数表达式、匿名函数等】
2020/05/19 jQuery
[00:37]2016完美“圣”典风云人物:rOtk宣传片
2016/12/09 DOTA
pandas.DataFrame 根据条件新建列并赋值的方法
2018/04/08 Python
Python 实现毫秒级淘宝抢购脚本的示例代码
2019/09/16 Python
Python ATM功能实现代码实例
2020/03/19 Python
matplotlib 范围选区(SpanSelector)的使用
2021/02/24 Python
CSS3中使用RGBa来调节透明度的教程
2016/05/09 HTML / CSS
探讨HTML5移动开发的几大特性(必看)
2015/12/30 HTML / CSS
G-Form护具官方网站:美国运动保护装备
2019/09/04 全球购物
英文简历中的自荐信范文
2013/12/14 职场文书
周鸿祎:教你写创业计划书
2013/12/30 职场文书
我的中国心演讲稿
2014/09/04 职场文书
干部作风建设工作总结
2014/10/29 职场文书
2016春季幼儿园大班开学寄语
2015/12/03 职场文书
MySQL 视图(View)原理解析
2021/05/19 MySQL
pytorch 如何使用amp进行混合精度训练
2021/05/24 Python
AndroidStudio图片压缩工具ImgCompressPlugin使用实例
2022/08/05 Java/Android