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 相关文章推荐
也谈php网站在线人数统计
Apr 09 PHP
PHP判断变量是否为0的方法
Feb 08 PHP
php和jquery实现地图区域数据统计展示数据示例
Feb 12 PHP
php中session与cookie的比较
Jan 27 PHP
PHP实现抓取Google IP并自动修改hosts文件
Feb 12 PHP
PHP树-不需要递归的实现方法
Jun 21 PHP
PHP进制转换实例分析(2,8,16,36,64进制至10进制相互转换)
Feb 04 PHP
PHP处理Ajax请求与Ajax跨域问题
Feb 13 PHP
php获取数据库中数据的实现方法
Jun 01 PHP
PHP环形链表实现方法示例
Sep 15 PHP
如何优雅的使用 laravel 的 validator验证方法
Nov 11 PHP
PHP利用DWZ.CN服务生成短网址
Aug 11 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获取网络上文件
2006/10/09 PHP
PHP通用分页类page.php[仿google分页]
2008/08/31 PHP
CodeIgniter与PHP5.6的兼容问题
2015/07/16 PHP
php微信浏览器分享设置以及回调详解
2016/08/01 PHP
thinkphp5 加载静态资源路径与常量的方法
2017/12/24 PHP
JQUERY操作JSON实例代码
2010/02/09 Javascript
jQuery 源码分析笔记(6) jQuery.data
2011/06/08 Javascript
javascript实现div的拖动并调整大小类似qq空间个性编辑模块
2012/12/12 Javascript
浅析JavaScript中的typeof运算符
2013/11/30 Javascript
JS+CSS实现的经典tab选项卡效果代码
2015/09/16 Javascript
利用Javascript实现BMI计算器
2016/08/16 Javascript
浅谈javascript:两种注释,声明变量,定义函数
2016/10/05 Javascript
利用Vue.js实现求职在线之职位查询功能
2017/07/03 Javascript
快速解决brew安装特定版本flow的问题
2018/05/17 Javascript
Node.js之删除文件夹(含递归删除)代码实例
2019/09/09 Javascript
js实现点击选项置顶动画效果
2020/08/25 Javascript
Vertx基于EventBus发送接受自定义对象
2020/11/16 Javascript
Python入门篇之函数
2014/10/20 Python
深入探究Python中变量的拷贝和作用域问题
2015/05/05 Python
Python通过future处理并发问题
2017/10/17 Python
python计算列表内各元素的个数实例
2018/06/29 Python
flask入门之文件上传与邮件发送示例
2018/07/18 Python
几个适合python初学者的简单小程序,看完受益匪浅!(推荐)
2019/04/16 Python
python实现PID算法及测试的例子
2019/08/08 Python
django前端页面下拉选择框默认值设置方式
2020/08/09 Python
python源文件的字符编码知识点详解
2021/03/04 Python
KIKO美国官网:意大利的平价彩妆品牌
2017/05/16 全球购物
普通大学毕业生自荐信范文
2014/02/23 职场文书
房屋公证委托书
2014/04/03 职场文书
硕士研究生就业推荐信
2014/05/18 职场文书
学校食堂标语
2014/10/06 职场文书
2015年五一劳动节演讲稿
2015/03/18 职场文书
光荣之路观后感
2015/06/12 职场文书
婚宴来宾致辞
2015/07/28 职场文书
小程序实现文字循环滚动动画
2021/06/14 Javascript
Python必备技巧之字符数据操作详解
2022/03/23 Python