imagegif()

Trifon

Guest
imagegif()

есть вот такой код
PHP:
<?
if ($file_type == "image/gif"){
$ar = getimagesize ($file);
$x = $ar[0];
$y = $ar[1];
$new_file = "s".$file_name;
if ($file_type == "image/gif") $im = imagecreatefromgif ($file);
if ($file_type == "image/jpeg") $im = imagecreatefromjpeg ($file);
$im_n = imagecreate ("128", "96");
$result = imagecopyresized ($im_n, $im, 0, 0, 0, 0, "128", "96", $x, $y);


   if (!imagegif ($im, $file_name));
   if (!imagegif ($im_n, $new_file));
}
echo'
<form action=1.php method=post enctype=multipart/form-data>
<input type=file name=file>
<input type=submit name=doUpload value="Закачать">
';
?>
вроде как всё хорошо, но прозрачные места в картинке становятся чёрными =(
 

Trifon

Guest
если сюда

$im_n = imagecreatetruecolor ("128", "96");

тогда не помогло
 

Trifon

Guest
исползуя копировать, вставить

получилось следующее

<?php
$im = imagecreatefromgif('trans.gif');
$img = imagecreatetruecolor(128,96);
$ar = getimagesize ("trans.gif");
$x = $ar[0];
$y = $ar[1];
$trans = imagecolorallocate($img,0,0,0);
imagecolortransparent($img,$trans);
imagecopyresized ($img,$im, 0, 0, 0, 0, "128", "96", $x, $y);
imagetruecolortopalette($img, true, 256);
imageinterlace($img);


imagegif($img,'trans.gif');
imagedestroy($img);
?>
 
Сверху