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 相关文章推荐
第八节--访问方式
Nov 16 PHP
PHP中,文件上传
Dec 06 PHP
php中$this-&amp;gt;含义分析
Nov 29 PHP
php access 数据连接与读取保存编辑数据的实现代码
May 12 PHP
window+nginx+php环境配置 附配置搭配说明
Dec 29 PHP
基于PHP CURL获取邮箱地址的详解
Jun 03 PHP
PHP在线生成二维码(google api)的实现代码详解
Jun 04 PHP
PHP根据IP判断地区名信息的示例代码
Mar 03 PHP
使用GD库生成带阴影文字的图片
Mar 27 PHP
PHP实现统计在线人数功能示例
Oct 15 PHP
PHP基于自定义函数生成笛卡尔积的方法示例
Sep 30 PHP
PHP生成zip压缩包的常用方法示例
Aug 22 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/07/19 PHP
php fseek函数读取大文件两种方法
2016/10/12 PHP
JavaScript 设计模式 富有表现力的Javascript(一)
2010/05/26 Javascript
关于javascript中的typeof和instanceof介绍
2012/12/04 Javascript
Javascript Memoizer浅析
2014/10/16 Javascript
html的DOM中document对象forms集合用法实例
2015/01/21 Javascript
jquery比较简洁的软键盘特效实现方法
2015/03/19 Javascript
wangEditor编辑器失去焦点后仍然可以在原位置插入图片分析
2015/05/06 Javascript
深入理解JavaScript编程中的同步与异步机制
2015/06/24 Javascript
JS实现弹出浮动窗口(支持鼠标拖动和关闭)实例详解
2015/08/06 Javascript
JavaScript+CSS实现仿天猫侧边网页菜单效果
2015/08/25 Javascript
用JavaScript判断CSS浏览器类型前缀的两种方法
2015/10/08 Javascript
基于javascript实现泡泡大冒险网页版小游戏
2016/03/23 Javascript
微信小程序 摇一摇抽奖简单实例实现代码
2017/01/09 Javascript
JavaScript反弹动画效果的实现代码
2017/07/13 Javascript
详解vue组件中使用路由方法
2019/02/12 Javascript
详解如何理解vue的key属性
2019/04/14 Javascript
微信小程序如何播放腾讯视频的实现
2019/09/20 Javascript
jQuery 选择器用法基础入门示例
2020/01/04 jQuery
详解Vue.js3.0 组件是如何渲染为DOM的
2020/11/10 Javascript
[38:51]2014 DOTA2国际邀请赛中国区预选赛 Orenda VS LGD-CDEC
2014/05/22 DOTA
Python操作Access数据库基本步骤分析
2016/09/19 Python
Django学习笔记之Class-Based-View
2017/02/15 Python
简单的python协同过滤程序实例代码
2018/01/31 Python
利用Vscode进行Python开发环境配置的步骤
2020/06/22 Python
Django如何实现密码错误报错提醒
2020/09/04 Python
CSS3中border-radius属性设定圆角的使用技巧
2016/05/10 HTML / CSS
详解CSS3原生支持div铺满浏览器的方法
2018/08/30 HTML / CSS
保密工作责任书
2014/04/16 职场文书
医院信息公开实施方案
2014/05/09 职场文书
化工工艺设计求职信
2014/06/25 职场文书
2015廉洁自律个人总结
2015/02/14 职场文书
opencv读取视频并保存图像的方法
2021/06/04 Python
继承Win10缺点!教你关闭Win11烦人的网络搜索
2021/11/23 数码科技
详解Vue3使用axios的配置教程
2022/04/29 Vue.js
MySQL中的全表扫描和索引树扫描
2022/05/15 MySQL