Bild skalieren --> Farbenproblem

Miraculixx

Erfahrenes Mitglied
Hi!

Ich habe mir gerade ein kleines Skript zusammengebastelt, das mir Bilder auf meinem Webspace auf die gewünschte Größe skalieren soll.

Grundsätzlich funktioniert das auch, allerdings werden die Farben der Bilder total verfälscht. Kann mir jemand sagen, woran das liegt?

Original-Bild: http://ebezirkfr.n-design.biz/img/fotos/12_testbild1.jpg
Skaliertes Bild: http://ebezirkfr.n-design.biz/img/fotos/12_testbild1_150px.jpg

Verwendeter Code:
PHP:
function resize_foto($img_pfadname, $twidth, $new_name, $endung)
{
  $im = ImageCreateFromJPEG($img_pfadname);
  $width = ImageSX($im);
  $height = ImageSY($im);
  $theight = round($height / $width * $twidth);
  $im2 = ImageCreate($twidth,$theight);
  ImageCopyResized($im2,$im,0,0,0,0,$twidth,$theight,$width,$height);
  ImageJpeg($im2, "../img/fotos/".$new_name."_".$twidth."px.".$endung, 80);
}

Bin euch für Tipps sehr dankbar! :)
 
1. anstelle von ImageCreate() besser ImageCreateTrueColor() benutzen
2. anstelle von ImageCopyResized() besser ImageCopyResampled() benutzen

Das ist alles :-)
 
So jetzt habe ich noch ein anderes Problem....

Ich weiß ja, dass der RAM für Bilderbearbeitungen auf den Servern relativ gering ist.

Die oben beschriebene Funktion lief problemlos durch, um ein 1,3 MB großes Foto zu bearbeiten.

Jetzt bekomme ich aber plötzlich eine Fehlermeldung beim Bearbeiten eines Bildes mit nur 700 kb.

Code:
Fatal error: Allowed memory size of 31457280 bytes exhausted (tried to allocate 16896 bytes)

Kann es sein, dass man erst wieder den Speicher freigeben muss, oder so etwas?
Ich habe es mit anderen Bildern versucht, die gehen problemlos. Und auch auf einem anderen Server funktioniert die Bearbeitung dieses Bildes problemlos.
 
Zurück