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代码
Dec 06 PHP
实用函数10
Nov 08 PHP
php中使用Imagick实现图像直方图的实现代码
Aug 30 PHP
PHP无刷新上传文件实现代码
Sep 19 PHP
php数组(array)输出的三种形式详解
Jun 05 PHP
PHP5函数小全(分享)
Jun 06 PHP
ThinkPHP水印功能实现修复PNG透明水印并增加JPEG图片质量可调整
Nov 05 PHP
PHP连接SQLServer2005的方法
Jan 27 PHP
使用URL传输SESSION信息
Jul 14 PHP
100多行PHP代码实现socks5代理服务器[2]
May 05 PHP
php判断str字符串是否是xml格式数据的方法示例
Jul 26 PHP
PHP如何实现订单的延时处理详解
Dec 30 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模块 Memcached功能多于Memcache
2011/06/14 PHP
采用PHP函数memory_get_usage获取PHP内存清耗量的方法
2011/12/06 PHP
php变量与数组相互转换的方法(extract与compact)
2016/12/02 PHP
ThinkPHP 3.2.3实现加减乘除图片验证码
2018/12/05 PHP
28个JS验证函数收集
2010/03/02 Javascript
JQuery 常用操作代码
2010/03/14 Javascript
extjs实现选择多表自定义查询功能 前台部分(ext源码)
2011/12/20 Javascript
js运动框架_包括图片的淡入淡出效果
2013/05/11 Javascript
js判断运行jsp页面的浏览器类型以及版本示例
2013/10/30 Javascript
js和jquery中循环的退出和继续学习记录
2014/09/06 Javascript
jQuery晃动层特效实现方法
2015/03/09 Javascript
JavaScript中的方法重载实例
2015/03/16 Javascript
JavaScript事件代理和委托详解
2016/04/08 Javascript
JS Attribute属性操作详解
2016/05/19 Javascript
js实现简单的网页换肤效果
2017/01/18 Javascript
vue.js移动端tab组件的封装实践实例
2017/06/30 Javascript
AngularJS实现表格的增删改查(仅限前端)
2017/07/04 Javascript
Chart.js 轻量级HTML5图表绘制工具库(知识整理)
2018/05/22 Javascript
Vue.js中该如何自己维护路由跳转记录
2019/05/19 Javascript
Nodejs监听日志文件的变化的过程解析
2019/08/04 NodeJs
何时/使用 Vue3 render 函数的教程详解
2020/07/25 Javascript
跟老齐学Python之Import 模块
2014/10/13 Python
Python 内置函数complex详解
2016/10/23 Python
Python实现控制台中的进度条功能代码
2017/12/22 Python
pandas.DataFrame.to_json按行转json的方法
2018/06/05 Python
Python flask框架端口失效解决方案
2020/06/04 Python
Django REST Swagger实现指定api参数
2020/07/07 Python
基于CSS3实现立方体自转效果
2016/03/01 HTML / CSS
送货司机岗位职责
2013/12/11 职场文书
积极贯彻学习两会精神总结
2014/03/17 职场文书
《晚上的太阳》教学反思
2014/04/23 职场文书
教导主任竞聘演讲稿
2014/05/16 职场文书
机械工程及自动化专业求职信
2014/09/03 职场文书
2014学习优秀共产党员先进事迹材料思想汇报
2014/09/14 职场文书
法人委托书范本格式
2014/09/15 职场文书
Pygame游戏开发之太空射击实战敌人精灵篇
2022/08/05 Python