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 相关文章推荐
PHP5中的this,self和parent关键字详解教程
Mar 19 PHP
PHP中使用mktime获取时间戳的一个黑色幽默分析
May 31 PHP
解析CI的AJAX分页 另类实现方法
Jun 27 PHP
php json_encode值中大括号与花括号区别
Sep 30 PHP
header导出Excel应用示例
Jan 24 PHP
php中实现可以返回多个值的函数实例
Mar 21 PHP
Laravel 5框架学习之用户认证
Apr 09 PHP
WordPress中用于获取搜索表单的PHP函数使用解析
Jan 05 PHP
YII CLinkPager分页类扩展增加显示共多少页
Jan 29 PHP
深入理解PHP中mt_rand()随机数的安全
Oct 12 PHP
Yii Framework框架使用PHPExcel组件的方法示例
Jul 24 PHP
浅析PHP7 的垃圾回收机制
Sep 06 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
JS实现php的伪分页
2008/05/25 PHP
常用的PHP数据库操作方法(MYSQL版)
2011/06/08 PHP
PHP类的封装与继承详解
2015/09/29 PHP
php+ajax实现带进度条的上传图片功能【附demo源码下载】
2016/09/14 PHP
教你如何解密js/vbs/vbscript加密的编码异处理小结
2008/06/25 Javascript
使用Java实现简单的server/client回显功能的方法介绍
2013/05/03 Javascript
js取模(求余数)隔行变色
2014/05/15 Javascript
jQuery position() 函数详解以及jQuery中position函数的应用
2015/12/14 Javascript
跨域资源共享 CORS 详解
2016/04/26 Javascript
jQuery+ajax实现滚动到页面底部自动加载图文列表效果(类似图片懒加载)
2016/06/07 Javascript
js鼠标跟随运动效果
2017/03/11 Javascript
利用node实现一个批量重命名文件的函数
2017/12/21 Javascript
Auto.js自动收取自己和好友蚂蚁森林能量脚本
2018/06/28 Javascript
Nuxt.js实战和配置详解
2019/08/05 Javascript
Electron实现应用打包、自动升级过程解析
2020/07/07 Javascript
Vue使用轮询定时发送请求代码
2020/08/10 Javascript
python中类的一些方法分析
2014/09/25 Python
Python中使用dom模块生成XML文件示例
2015/04/05 Python
python 实现矩阵填充0的例子
2019/11/29 Python
使用Django和Postgres进行全文搜索的实例代码
2020/02/13 Python
聊聊Python pandas 中loc函数的使用,及跟iloc的区别说明
2021/03/03 Python
法国美发器材和产品购物网站:Beauty Coiffure
2016/12/05 全球购物
双立人加拿大官网:Zwilling加拿大
2020/08/10 全球购物
计算机专业个人求职信范例
2013/09/23 职场文书
教育基金募捐倡议书
2014/05/14 职场文书
暑假学习心得体会
2014/09/02 职场文书
2014年科技工作总结
2014/11/26 职场文书
初三英语教学计划
2015/01/23 职场文书
离婚协议书样本
2015/01/26 职场文书
体育个人工作总结
2015/02/09 职场文书
人力资源部工作计划
2019/05/14 职场文书
Django实现在线无水印抖音视频下载(附源码及地址)
2021/05/06 Python
python之django路由和视图案例教程
2021/07/26 Python
Python获取江苏疫情实时数据及爬虫分析
2021/08/02 Python
一次项目中Thinkphp绕过禁用函数的实战记录
2021/11/17 PHP
Android开发手册自定义Switch开关按钮控件
2022/06/10 Java/Android