Создать полностью прозрачное GIF-изображение

TsarAlex

Новичок
Создать полностью прозрачное GIF-изображение

Подскажите пожайлуста как средствами PHP создать прозрачный GIF X на Y точек? Оно надо чтобы потом на него сделать resampling загружаемого GIF-а с прозрачностью.
Пробовал вот так:
PHP:
$img = imagecreatetruecolor(300,300);
imageColorTransparent($img,imagecolorallocate($img,0,0,0));
imagegif($img);
но не получается :(
 

ksnk

прохожий
PHP:
$img = imagecreatetruecolor(300,300); 
imageColorTransparent($img,imagecolorallocate($img,255,0,0)); 
imagegif($img);
Вот так - работает! Найди 10 отличий....
 

TsarAlex

Новичок
Первая строка создаёт чёрный прямоугольник
Вторая делает красный цвет прозрачным... но всё работает как надо. В чём фикус? :)
 

ksnk

прохожий
Это - мистика GD... Я - не понимаю сам :)
Вообще говоря, нужно было сделать [m]imagetruecolortopalette[/m] и далее - внимательно читать комментарии по этой ссылке!!! но так, вроде, тоже работает...
 

FedY@

Новичок
да все работает, только этот цвет на картинке уберается и какой-то чёрный контур появляется.... :((
вот мой код
PHP:
	$filename = $_GET['img'];
	
	// Set a maximum height and width
	$width = 400;
	$height = 300;

	
	// Content type
	header('Content-type: image/gif');
	
	// Get new dimensions
	list($width_orig, $height_orig) = getimagesize($filename);
	
	if ($width && ($width_orig < $height_orig)) {
	   $width = ($height / $height_orig) * $width_orig;
	} else {
	   $height = ($width / $width_orig) * $height_orig;
	}
	
	// Resample
	$image_p = imagecreatetruecolor($width, $height);
	imageColorTransparent($image_p,imagecolorallocate($image_p,255,0,0));  
	$image = imagecreatefromgif($filename);
	imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
	
	// Output
	imagegif($image_p);
-~{}~ 01.08.06 14:19:

PHP:
imagefilledrectangle($image_p, 0, 0, $width, $height, imagecolorallocate($image_p,255,255,255));
imageColorTransparent($image_p,imagecolorallocate($image_p,255,255,255));
тоже не помогло... :(

-~{}~ 01.08.06 14:26:

PHP:
$image_p = imagecreate($width, $height);
	imageColorTransparent($image_p,imagecolorallocate($image_p,255,0,0));
тупым подбором решил траблу... но некоторые пиксели всетаки остались не прозрачными :*(
 
Сверху