找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1701|回复: 0
打印 上一主题 下一主题

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

[复制链接]

2647

主题

2647

帖子

7881

积分

论坛元老

Rank: 8Rank: 8

积分
7881
跳转到指定楼层
楼主
发表于 2018-2-14 05:36:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            本文实例讲述了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()函数来为图片添加文字:
[U]复制代码[/U] 代码如下: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来引入这张图片:

//在src中,写入new-image.php文件的路径,你就会发现刚才创建的图片已经被成功的调用了
利用imagepng()可生成一个图片文件
例如:
以上代码将在根目录下生成一个xxx.jpg的图片文件。
补充:小编在这里推荐一款本站的php格式化美化的排版工具帮助大家在以后的PHP程序设计中进行代码排版:

php代码在线格式化美化工具:http://tools.jb51.net/code/phpformat
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP图形与图片操作技巧汇总》、《PHP数组(Array)操作技巧大全》、《PHP数学运算技巧总结》、《php日期与时间用法总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总
希望本文所述对大家PHP程序设计有所帮助。
            
            
您可能感兴趣的文章:
  • php 生成文字png图片的代码
  • 使用PHP生成图片的缩略图的方法
  • PHP Imagick完美实现图片裁切、生成缩略图、添加水印
  • php使用高斯算法实现图片的模糊处理功能示例
  • php解析base64数据生成图片的方法
  • php生成二维码图片方法汇总
  • PHP生成图片缩略图类示例
  • PHP生成图片验证码功能示例
  • PHP实现随机生成水印图片功能
  • PHP基于GD库实现的生成图片缩略图函数示例
  • php生成条形码的图片的实例详解
  • PHP实现生成模糊图片的方法示例
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端