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中的CMS的涵义
Mar 11 PHP
谈PHP生成静态页面分析 模板+缓存+写文件
Aug 17 PHP
ThinkPHP中公共函数路径和配置项路径的映射分析
Nov 22 PHP
反射调用private方法实践(php、java)
Dec 21 PHP
使用phpstorm和xdebug实现远程调试的方法
Dec 29 PHP
使用PHP处理数据库数据如何将数据返回客户端并显示当前状态
Feb 16 PHP
PHP仿微信多图片预览上传实例代码
Sep 13 PHP
如何打开php的gd2库
Feb 09 PHP
PHP实现的字符串匹配算法示例【sunday算法】
Dec 19 PHP
php往mysql中批量插入数据实例教程
Dec 12 PHP
php的命名空间与自动加载实现方法
Aug 25 PHP
php设计模式之状态模式实例分析【星际争霸游戏案例】
Mar 26 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实现邮件群发的源码
2013/06/18 PHP
PHP实现抓取Google IP并自动修改hosts文件
2015/02/12 PHP
PHP页面跳转操作实例分析(header方法)
2016/09/28 PHP
浅谈PHP的$_SERVER[SERVER_NAME]
2017/02/04 PHP
PHP获取文件扩展名的方法实例总结
2017/06/10 PHP
PHP长连接实现与使用方法详解
2018/02/11 PHP
JavaScript窗口功能指南之在窗口中书写内容
2006/07/21 Javascript
JavaScript等比例缩放图片控制超出范围的图片
2013/08/06 Javascript
jQuery对指定元素中指定字符串进行替换的方法
2015/03/17 Javascript
用JS生成UUID的方法实例
2016/03/30 Javascript
JavaScript 实现的checkbox经典实例分享
2016/10/16 Javascript
vue.js实现表格合并示例代码
2016/11/30 Javascript
JavaScript中的编码和解码函数
2017/02/15 Javascript
Vue.js 插件开发详解
2017/03/29 Javascript
javascript 玩转Date对象(实例讲解)
2017/07/11 Javascript
在移动端使用vue-router和keep-alive的方法示例
2018/12/02 Javascript
Next.js实现react服务器端渲染的方法示例
2019/01/06 Javascript
Selenium执行Javascript脚本参数及返回值过程详解
2020/04/01 Javascript
[03:08]迎霜节狂欢!2018年迎霜节珍藏Ⅰ一览
2018/12/25 DOTA
win10系统中安装scrapy-1.1
2016/07/03 Python
浅谈flask截获所有访问及before/after_request修饰器
2018/01/18 Python
基于Python实现大文件分割和命名脚本过程解析
2019/09/29 Python
Python小程序之在图片上加入数字的代码
2019/11/26 Python
Python3 A*寻路算法实现方式
2019/12/24 Python
virtualenv介绍及简明教程
2020/06/23 Python
英国的知名精品百货公司:House of Fraser(福来德)
2016/08/14 全球购物
Footshop罗马尼亚:最好的运动鞋选择
2019/09/10 全球购物
关于廉洁的广播稿
2014/01/30 职场文书
美国探亲签证邀请信
2014/02/05 职场文书
高三学习决心书
2014/03/11 职场文书
销售经理竞聘书
2014/03/31 职场文书
房屋出租委托书格式
2014/09/23 职场文书
教师群众路线剖析材料
2014/09/29 职场文书
社团个人总结范文
2015/03/05 职场文书
python使用openpyxl库读写Excel表格的方法(增删改查操作)
2021/05/02 Python
Python中三种花式打印的示例详解
2022/03/19 Python