« 上一篇下一篇 »

创建图像之在图像上绘图或打印文本

一个图像上绘图或打印文本需要两个步骤

首先,必须选择希望绘制的颜色。我们知道,计算机显示器上显示的颜色是由不同数量的红色、绿色和蓝色组成的。图像格式使用一个调色板,它包含所有3种颜色的可能组合的特定子集。要使用一种颜色绘制一个图像,必须将此颜色添加到图像的调色板上。我们必须对每一种要使用的颜色进行相同的处理,即使它是白色或黑色。

也可以通过调用Imgecolorallocate()函数为图像选择颜色。需要为该函数传递图像标识符和希望使用年过的颜色,而颜色由红、绿和蓝(RGB)值组合决定。

其次,要真正将颜色绘制到图像中,还需要使用许多其他不同的函数,对这些函数的使用取决于要绘制的内容--直线、弧、多边形或文本。

通常,绘图函数需要下列参数:
1.图像标识
2.需要绘制内容的起始坐标和结束坐标
3.图像使用颜色
4.对于文本需要字体

在下面例子中我们用了3个绘画函数。下面,我们逐一讲解。

首先,调用ImageFill()函数绘制了一个用以在上面绘画的黑色背景:
imagefill($im,0,0,$bulue);

该函数以图像标识符、绘画区域的起始坐标(x和y)以及颜色作为参数。

接下来,我们从左上角(0,0)开始画一条线,直到图像的右下角($width,$height):
imageline($im,0,0,$width,$height,$white);

该函数以图像标识符、直线的起始点的x和y坐标、终点以及颜色作参数。

最后,我们在该图中添加一个标签:
imageline($im,4,50,150,'Sales',$white);
Imagestring()函数所需的参数与Imageline()有些不同。其原型是:
int imagestring (resource im,int font,int x int y,string s,int col)

它以图像标识符、字体、文本的起始坐标x和y以及颜色作为参数。

字体参数值是1~5的数字。它们表示一组以latin2为编码的内置字体,参数值越高,对应的字体越大。也可以选择特殊字体。

使用可选的字体函数组的一个原因就是由函数Imagestring()或相关函数如Imagechar()(写一个字符到图像)写出的文本是可用别名的,而TrueType和PostScript函数生成反别名的文本。

« 上一篇下一篇 »