Gå til innhold

GD lager ubrukelige bilder


Anbefalte innlegg

Holder på med et bildegalleri som benytter PHP og GD til å skalere jpg-bilder.

Jeg bruker følgende kode til skaleringen:

$imageResized = ImageCreate($imageFlWidth, $imageFlHeight);
imagecopyresized($imageResized, ImageCreateFromJpeg($imgTmpName), 0 , 0 , 0 , 0, $imageFlWidth, $imageFlHeight, $imageOrigWidth, $imageOrigHeight);

$imageFlName = "bildegalleri/set".$imgParent."/s".$imgParent."i".$IID.".jpg";

Imagejpeg($imageResized, $imageFlName);
ImageDestroy($imageResized);

Problemet er at de skalerte bildene blir stygge.

 

Eks: orginalt bilde (95k) og bilde skalert av PHP og GD.

 

Hva kan være galt her? Bildene blir likedan på en annen server jeg har testet på.

Lenke til kommentar
Videoannonse
Annonse

Bytt ut

$imageResized = ImageCreate($imageFlWidth, $imageFlHeight);

med

$imageResized = ImageCreateTruecolor($imageFlWidth, $imageFlHeight);

 

[edit]

Grunnen er at ImageCreate() ikke vil fungere skikkelig med truecolor-bilder, være seg dersom du benytter GD 2 eller nyere.

For å lage løsningen mer portabel, kanskje dette vil funke(ikke testet):

$imageResized = @ImageCreateTruecolor($imageFlWidth, $imageFlHeight)
or //Dersom dette feilet, gjør det på "gæmlemåten"
$imageResized = ImageCreate($imageFlWidth, $imageFlHeight);

[/edit]

Endret av sven-o
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...