- 论坛徽章:
- 1
|
Linux环境下如何使用PHP处理图像
作者:曹江华(原创)出处:天极网责任编辑: 原野 [ 2006-02-28 16:09 ]
利用PHP创建图像是相当容易的一件事情。只要安装一些第三方的库文件并具有一定的几何知识……
下面我们详细讲解创建图像过程: 1. 创建一个背景图
要在PHP中建立或者修改一个图像,必须首先建立一个图像标示符号。这里提供调用函数:来实现,如下所示:
$im = ImageCreateTrueColor($width, $height)
然后为这个函数传递两个参数:第一个是新图像宽度,第二个是新图像高度。该函数将返回新图像的标示符号。
2. 在图像上绘图、打印文本
在一个图像上绘图和打印文本需要两个步骤:1.首先选择颜色。这里通过调用函数$im = ImageCreateTrueColor()为图像选择颜色。颜色由红、绿、蓝(RGB)值的组合决定。这里使用了两种颜色:
$white = ImageColorAllocate ($im, 255, 255, 255);
$blue = ImageColorAllocate ($im, 0, 0, 64);
然后需要使用其他函数将颜色绘制到图像中。这些函数的选择取决于要绘制的内容:直线、弧形、多边行或者文本。上面的脚本si1.php,一共使用了三个函数:
ImageFill($im, 0, 0, $blue);
这个函数以图像标示符号、绘图区域的起始坐标(X和Y)以及颜色为参数。{注意PHP中图像的起始坐标从左上角开始,该点坐标为X=0,Y=0.图像右下角的坐标X=$width ,Y=$height。这于常规作图习惯是相反的。}
ImageLine($im, 0, 0, $width, $height, $white);
这个函数以图像标示符号、直线的起始点的X和Y坐标以及颜色为参数。这样就从左上角(0,0)开始划一条直线到图像右下角($width, $height)。
最后我们在该图像中添加一共标签:
ImageString($im, 4, 50, 150, ‘PHP’, $white);
这个函数以图像标示符号、字体、文本的起始坐标(X和Y)以及颜色为参数。字体参数值范围从1-5之间的数字。这里选择的是TrueType字体。
3.输出最终图形
可以将图像输出到浏览器或者一共文件。上面的例子中直接输出到浏览器。包括两个部分:.
A.首先告诉Web浏览器我们输出的是一个图像而不是文本或者HTML。
我们发送一个图形头来“欺骗”浏览器,使它认为我们的PHP页面是一幅真正的图像,这样它才可以正确显示在屏幕上。服务器将以二进制数据流的形式把程序产生的信息发送到浏览器。这里使用函数指定图像的MIME类型来完成:
Header (‘Content-type: image/png’);
通常在使用浏览器接受一共文件时候,Apache Web服务器首先发送的内容是MIME类型。对于PHP页面是:
Content-type: text/html
B.发送标题数据后,下面使用如下函数输出图像数据。
ImagePng ($im);
该函数以PNG格式将输出内容发送到浏览器。
C. 清除资源
当完成对一共图像的处理后,应当使用销毁图像标示符号,然后将所占用的选题资源返回给Web服务器。这里调用函数ImageDestroy()完成:
ImageDestroy():
ImageDestroy($im);
这样作是为了降低CPU负荷。如果你不使用该函数在Web端有太多这样的图片产生任务,你可能会发现导致性能下降。 |
|