PHP使用内置函数生成图片的方法详解


Posted in PHP onMay 09, 2016

本文实例讲述了PHP使用内置函数生成图片的方法。分享给大家供大家参考,具体如下:

第一步:创建图片

新建一个php文件,命名为new-image.php(你可以任意命名,方便后面的调用就行)。

php中有两个函数创建一张图片:mageCreate()创建一张空图片;ImageCreateFromPng()以现有的png图片为背景来创建一张图片。(这里的”Png”可以替换为”jpg”或”gif”,根据背景图片的格式来确定)

$myImage=ImageCreate(400,60); //参数为宽度和高度
$myImage=ImageCreateFromJpg("http://farm5.static.flickr.com/418978874_c349c14359_o.jpg");

无论你使用了上面的哪一种方法,我们就创建好了一张图片,并把图片存到了$myImage这个变量中。

第二步:添加颜色

这时我们需要通过ImageColorAllocate()函数来创建一些颜色,把他们存到变量中,方便后面使用。

$white=ImageColorAllocate($myImage, 255, 255, 255);
$black=ImageColorAllocate($myImage, 0, 0, 0);
$red=ImageColorAllocate($myImage, 255, 0, 0);
$green=ImageColorAllocate($myImage, 0, 255, 0);
$blue=ImageColorAllocate($myImage, 0, 0, 255);

第三步:绘制图形

你还可以使用php的一些内置函数来添加一些几何图形:

ImageEllipse() //绘制椭圆
ImageArc() //绘制曲线
ImagePolygon() //绘制多边形
ImageRectangle() //绘制矩形
ImageLine() //绘制线条

下面是一个例子

ImageRectangle($myImage, 50, 20, 200, 15, $blue);

这时,你会发现只绘制了矩形的轮廓,如果你想要的是填充的矩形,使用ImageFilledRectangle()方法:

ImageFilledRectangle($myImage, 50, 20, 200, 15, $blue);

第四步:添加文字

我们可以使用imagettftext()函数来为图片添加文字:

imagettftext($myImage, 12, 0, 5, 20, $black, "Fonts/Oblivious font.ttf",  "这是要显示的内容");

你肯定注意到了,在这里你需要选择字体(此处用的是Fonts/Oblivious font.ttf, 你可以使用你自己的喜欢的字体)。 如果不知道如何来获取字体,可以google一下,上面有很多的下载字体的网站,里面的内容足够让你眼花缭乱了。

第五步:生成图片

当你成功的绘制好了你要显示的图片,接下来就要把它显示在页面中了。首先要做的是,告诉页面,你要向他发送的数据是一张图片:

//这里的png可以换成jpg,或者是gif,根据你要生成的图片格式来确定
header("Content-type:image/png");
ImagePng($myImage);

接下来,因为我们不在需要$myImage这个变量了,我们需要把它的内存释放掉:

ImageDestroy($myImage);

第六步:调用图片

通过前面的五步,我们已经创建了一张图片,下面给大家说一下如何调用这张创建好了的图片。

在HTML文件中,我们使用url来引入这张图片:

<img src="new-image.php的路径" alt="myImage" />
//在src中,写入new-image.php文件的路径,你就会发现刚才创建的图片已经被成功的调用了

利用imagepng()可生成一个图片文件

<?php imagepng($myImage,"xxx.jpg"); ?>

例如:

<?php
$myImage=ImageCreate(400,60); //参数为宽度和高度
$white=ImageColorAllocate($myImage, 255, 255, 255);
$black=ImageColorAllocate($myImage, 0, 0, 0);
$red=ImageColorAllocate($myImage, 255, 0, 0);
$green=ImageColorAllocate($myImage, 0, 255, 0);
$blue=ImageColorAllocate($myImage, 0, 0, 255);
imagettftext($myImage, 12, 0, 5, 20, $red, "stxingka.ttf", "果冻 Elvis");
?>
<?php imagepng($myImage,"xxx.jpg"); ?>

以上代码将在根目录下生成一个xxx.jpg的图片文件。

PHP 相关文章推荐
实现分十页分向前十页向后十页的处理
Oct 09 PHP
用PHP和ACCESS写聊天室(三)
Oct 09 PHP
实现php加速的eAccelerator dll支持文件打包下载
Sep 30 PHP
基于php权限分配的实现代码
Apr 28 PHP
使用Linux五年积累的一些经验技巧
Jun 20 PHP
PHP防止注入攻击实例分析
Nov 03 PHP
基于ThinkPHP实现批量删除
Dec 18 PHP
Zend Framework基于Command命令行建立ZF项目的方法
Feb 18 PHP
yii插入数据库防并发的简单代码
May 27 PHP
PHP格式化显示时间date()函数代码
Oct 03 PHP
php中isset与empty函数的困惑与用法分析
Jul 05 PHP
Laravel ORM 数据model操作教程
Oct 21 PHP
php时间计算相关问题小结
May 09 #PHP
php数据访问之查询关键字
May 09 #PHP
php简单实现短网址(短链)还原的方法(测试可用)
May 09 #PHP
php数据访问之增删改查操作
May 09 #PHP
php简单实现批量上传图片的方法
May 09 #PHP
php简单备份与还原MySql的方法
May 09 #PHP
PHP微信开发之微信消息自动回复下所遇到的坑
May 09 #PHP
You might like
php INI配置文件的解析实现分析
2011/01/04 PHP
php方法调用模式与函数调用模式简例
2011/09/20 PHP
php在服务器执行exec命令失败的解决方法
2012/03/03 PHP
dedecms函数分享之获取某一栏目所有子栏目
2014/05/19 PHP
php实现可用于mysql,mssql,pg数据库操作类
2014/12/13 PHP
PHP实现一个多功能购物网站的案例
2017/09/13 PHP
Ajax请求PHP后台接口返回信息的实例代码
2018/08/21 PHP
ThinkPHP3.1.2 使用cli命令行模式运行的方法
2020/04/14 PHP
JavaScript Distilled 基础知识与函数
2010/04/07 Javascript
jquery中通过过滤器获取表单元素的实现代码
2011/07/05 Javascript
带左右箭头图片轮播的JS代码
2013/12/18 Javascript
jQuery 1.9移除了$.browser可以使用$.support来替代
2014/09/03 Javascript
node.js下when.js 的异步编程实践
2014/12/03 Javascript
jQuery对象的selector属性用法实例
2014/12/27 Javascript
利用Vue.js指令实现全选功能
2016/09/08 Javascript
JavaScript实现body内任意节点的自定义属性功能示例
2017/09/18 Javascript
Js利用prototype自定义数组方法示例
2017/10/20 Javascript
angularjs实现天气预报功能
2020/06/16 Javascript
微信小程序可滑动周日历组件使用详解
2019/10/21 Javascript
JavaScript实现10秒后再次获取验证码
2020/12/02 Javascript
[01:14]DOTA2 7.22版本新增神杖效果展示(智力英雄篇)
2019/05/29 DOTA
python去掉空白行的多种实现代码
2018/03/19 Python
Python遍历numpy数组的实例
2018/04/04 Python
Python内置数据类型list各方法的性能测试过程解析
2020/01/07 Python
python序列类型种类详解
2020/02/26 Python
Osklen官方在线商店:巴西服装品牌
2019/04/25 全球购物
ESDlife健康生活易:身体检查预订、搜寻及比较
2019/05/10 全球购物
SheIn沙特阿拉伯:女装在线
2020/03/23 全球购物
高中体育教学反思
2014/01/29 职场文书
奠基仪式主持词
2014/03/20 职场文书
义务教育学校标准化建设汇报材料
2014/08/16 职场文书
2014年军人思想汇报范文
2014/10/12 职场文书
2014年行政人事工作总结
2014/12/09 职场文书
党员年度个人总结
2015/02/14 职场文书
小型婚礼主持词
2015/06/30 职场文书
浪漫婚礼主持词开场白
2015/11/24 职场文书