PHP生成数据流GIF和PNG透明图形

来源:互联网 发布:淘宝优惠券加返利 编辑:程序博客网 时间:2024/06/05 17:15


 

ImageCreate()函数可创建图像。被创建的图像有两个参数:图像的宽度、图像的高度。ImageCreate(100,80)一句将创建一个宽100个象素、高80个象素的图像,图像格式可为PNG、JPEG和GIF。

用ImageCreate()函数创建图像实际上是将TrueType字体文字(TEXT)变成图形格式,所以,我们要往图像变量写入文字,所用函数为ImageString,该函数的用法举例如下:

ImageString(,3,10,10,,);

解释:

- 图像对象;
数值 - 分别为:3,文字部分的大小,取HTML标准的字体大小。两个10分别为文字的在图像中的X和Y值;
- 将变为图像内容的字符串;
- 预设的颜色变量。

我们知道,只有PNG和GIF可为背景透明的,故而我们将在header中指定图片格式,语句如下:header("content- type:image/png(或gif)")。而要令图像背景透明,我们首先需要给图像指定背景色然后再令其透明,所需函数描述如下:

ImageColorAllocate():设定图像背景和前景色。参数:被设定的图像对象、RGB颜色值。如 = ImageColorAllocate(,255,0,0) 一句将 图像对象的前景或背景色设置为红色;

ImageColorTransparent():设定指定颜色为透明色。参数:被设定的图像对象、将设定为透明的颜色变量。如 = ImageColorTransparent(,) 一句将图像

以下例子将把“Hello PHP”变为背景色透明的图像。该图像背景色为黑色,前景色为红色。由于已经作了背景透明处理,在效果中我们将看不到黑色。

 

 

查看效果请点击 → 透明效果

比较一下不作透明处理的效果 → 不透明效果

这个例子的代码中,倒数第二行(ImagePng())为绘制图片,如果是Gif图像格式,则用ImageGif()。最后一句(ImageDestroy())的作用是释放给图像分配的内存,这个不能丢掉——任何时候,只要绘制了图像,工作完成后都应该习惯地从内存中将其清除以收回资源。

【说明】

    ·用于作为图像内容的文字不支持中文或支持的不好;

    ·Gif图像有版权争端,用时小心;

    ·以上代码所生成的图片,在Web页里可保存为有效的图形文件。

原创粉丝点击