[php] upload GIF

0

Witam

robie upload plików graficznych.

dla JPG mam :
if(exif_imagetype($img)==2){
$img1 = imagecreatefromjpeg($img);
$imgdest1 = imagecreatetruecolor($x, $y);
imagecopyresampled($imgdest1, $img1, 0, 0, 0, 0, $x, $y, $width, $height);
imagejpeg($imgdest1,$imgdest);
}

dla GIFów:

if(exif_imagetype($img)==1)
{
$img1 = imagecreatefromgif($img);
$imgdest1 = imagecreate($x, $y);
imagecopyResampled($imgdest1, $img1, 0, 0, 0, 0, $x, $y, $width, $height);
imagegif($imgdest1,$imgdest);
}

problem w tym że JPG zpaisuej dobrze a GIFy (nieruchome) zapisuje z popsutymi kolorami - najgorzej z białym i czarnym

0

a sprobuj uzyc w przypadku gifa imagecreatetruecolor - moze w przypadku samego imagecreate kolory sa przyblizane i wychodzi to tak jak wychodzi?

0

witam

próbowałem

z $imgdest1 = imagecreate($x, $y); widać tylko kontury

z $imgdest1 = imagecreatetruecolor($x, $y); biały kolor = czarny

0

To sprobuj imagecreatetruecolor i imagecopyresized.

0

niestety żadnej różnicy miedzy imagecopyresized a imagecopyresampled

$img1 = imagecreatefromgif($img);
$imgdest1 = imagecreatetruecolor($x, $y);
imagecopyresized($imgdest1, $img1, 0, 0, 0, 0, $x, $y, $width, $height);
imagegif($imgdest1,$imgdest);

nadal źle :(

białe kolory są zapisywane jako czarne

0

dodałem czyste białe tło i działa

0

Możesz pokazać pełny kod? Bo akurat przerabiałem to samo w tym samym czasie, nawet przez chwilę były tu moje nieprzetestowane do końca brednie, które na szczęście zdążyłem usunąć, przekopałem google i znalazłem parę wskazówek, pokombinowałem i doszedłem do takiego kodu:

$oryginal = imagecreatefrogif( ... );
$nowy1024 = imagecreate( ... );
(...)
$przezroczysty = imagecolorsforindex( $oryginal, imagecolortransparent( $oryginal ) );
		imagecolortransparent( $nowy1024, imagecolorallocate( $nowy1024, $przezroczysty['red'], $przezroczysty['green'], $przezroczysty['blue'] ) );

imagecopyresampled( ... );

I to działa w 100%, tzn. bez względu na to, jaki kolor jest przeźroczysty, ani gdzie jest ten przeźroczysty kolor. Według tego, co ja próbowałem, to nie mam pojęcia, jakim cudem tobie to działa :D

1 użytkowników online, w tym zalogowanych: 0, gości: 1