动态生成gif格式的图像要注意?
程序员文章站
2022-05-26 23:43:09
如果你用 int imagecreatefromgif(string filename); 来取出一张 gif 格式图形,当背景或者基本的画布样本使用...
如果你用
int imagecreatefromgif(string filename);
来取出一张 gif 格式图形,当背景或者基本的画布样本使用,在其上绘制图形,请注意:
如果这个文件中没有的色素,你将不能使用。
解决方法,你可以用
int imagecreate(int x_size, int y_size);
建立一张全空的图形。在其上绘制图形。将黑色作为透明色。
这个新建的图形要和原图形大小相同,绝对位置相同,将其放在原图形上方,就可以了。
<img border="0" src="1.gif" style="position: absolute; left: 1; top: 1; z-index: 0" width="200" height="300">
原图形文件
<img border="0" src="photo.php" style="position: absolute; left: 1; top: 1; z-index: 1" 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);
?>
【本文版权归作者与奥索网共同拥有,如需转载,请注明作者及出处】
int imagecreatefromgif(string filename);
来取出一张 gif 格式图形,当背景或者基本的画布样本使用,在其上绘制图形,请注意:
如果这个文件中没有的色素,你将不能使用。
解决方法,你可以用
int imagecreate(int x_size, int y_size);
建立一张全空的图形。在其上绘制图形。将黑色作为透明色。
这个新建的图形要和原图形大小相同,绝对位置相同,将其放在原图形上方,就可以了。
<img border="0" src="1.gif" style="position: absolute; left: 1; top: 1; z-index: 0" width="200" height="300">
原图形文件
<img border="0" src="photo.php" style="position: absolute; left: 1; top: 1; z-index: 1" 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);
?>
【本文版权归作者与奥索网共同拥有,如需转载,请注明作者及出处】
下一篇: 女生是不是都这样子的呀!