php 数据图形,PHP生成数据流GIF和PNG透明图形教程及源代码

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"变为背景色透明的图像。该图像背景色为黑色,前景色为红色。由于已经作了背景透明处理,在效果中我们将看不到黑色。

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页里可保存为有效的图形文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值