动态生成gif格式的图像要注意

动态生成gif格式的图像要注意

如果你用

int imagecreatefromgif(string filename);

来取出一张 GIF 格式图形,当背景或者基本的画布样本使用,在其上绘制图形,请注意:

如果这个文件中没有的色素,你将不能使用。

解决方法,你可以用

int imagecreate(int x_size, int y_size);

建立一张全空的图形。在其上绘制图形。将黑色作为透明色。

这个新建的图形要和原图形大小相同,绝对位置相同,将其放在原图形上方,就可以了。

<img src=http://www.yhzhan.com/images/NullPic.gif" width="200" height="300">

原图形文件

<img src=http://www.yhzhan.com/developer/"photo.php" width="200" height="300">

全空文件 photo.php

photo.php 的代码:

<?php

Header("Content-type: image/gif");

$im = imagecreate(200,300);

$black = ImageColorAllocate($im, 0,0,0);

$red = ImageColorAllocate($im, 255,0,0);

$blue = ImageColorAllocate($im, 0,0,255);

imagerectangle($im,100,200,150,200,$red) ;

imagestring($im,2,120,150,"aaaaaaaa",$blue);

imagecolortransparent($im,$black);

//将黑色作为透明色

ImageGif($im);

ImageDestroy($im);

?>