登录  /  注册

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

PHP中文网
发布: 2016-05-16 09:00:02
原创
1531人浏览过

本文实例讲述了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 
$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"); 
?>
登录后复制

以上就是PHP使用内置函数生成图片的方法详解_php技巧的内容,更多相关内容请关注PHP中文网(www.php.cn)!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
关于CSS思维导图的课件在哪? 课件
凡人来自于2024-04-16 10:10:18
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号