PHP程序员站--PHP编程开发平台
 当前位置:主页 >> PHP高级编程 >> 高级应用 >> 

PHP生成GIF和PNG透明图形简单教程

PHP生成GIF和PNG透明图形简单教程

来源:互联网  作者:  发布时间:2008-06-10
ImageCreate()函数可创建图像。被创建的图像有两个参数:图像的

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

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

ImageString($img,3,10,10,$string,$color);

解释:

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

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

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

ImageColorTransparent():设定指定颜色为透明色。参数:被设定的图像对象、将设定为透明的颜色变量。如 $bgcolor = ImageColorTransparent($img,$bgcolor) 一句将图像$img的背景色($bgcolor)设定为透明的,即该颜色将溶入实际的HTML页面或其他容器的背景色,跟随实际背景色而变化。

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

以下为引用的内容:
<?php
header("content-type:image/png");
$img=ImageCreate(100,35);
$bgcolor=ImageColorAllocate($img,0,0,0);
$red=ImageColorAllocate($img,255,0,0);
$bgcolortrans=ImageColorTransparent($img,$bgcolor);
ImageString($img,5,10,10,"Hello PHP",$red);
ImagePng($img);
ImageDestroy($img);
?>

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

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

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

【说明】

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

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

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

Tags: 图形   教程   透明   生成   图像   php  
最新文章
推荐阅读
月点击排行榜
PHP程序员站 Copyright © 2007-2010,PHPERZ.COM All Rights Reserved 粤ICP备07503606号