ImageJPEG() bessere Qualität ?

Andreas Späth

Erfahrenes Mitglied
Hallo

Ich hab folgendes kleines Problem.

Wenn ich mit ImageJPEG() ein Bild erzeuge, also hier mal einfach der Code.

PHP:
$playing_s = ImageCreateFromJPEG('template.jpg');
 
//Dann wird der Text draufgepackt und so wird das Bild abgespeichert
 
ImageJPEG($playing_s ,'playing.jpg','100');

Soweit so gut, jetzt sieht das Orginalbild so aus.
template.jpg


Und das daraus erzeugte JPEG so.
playing.jpg


Wie man sieht nicht ganz so scharf , quality 100 ist denke ich der höchste Wert, wie kann ich die Qualität des ausgegeben Bilder noch verbessern ?

Greetinx Andy
 
Zeig mal den kompletten Code, ich denke du benutzt [PHPF]imagecreate[/PHPF] - an dieser Stelle ist [PHPF]imagecreatetruecolor[/PHPF] die besere Wahl.
 
imagecreate() kommt bei mir nirgends vor

PHP:
$playing_s = ImageCreateFromJPEG("template.jpg");
 
$color = ImageColorAllocate($playing_s, "$play_r", "$play_g","$play_b");
 
ImageTTFText ($playing_s, 13, 0, 144, 37, "$color", "/fontf", "$song");
ImageTTFText ($playing_s, 13, 0, 240, 55, "$color", "/fontf", "$stats");
ImageTTFText ($playing_s, 13, 0, 400, 55, "$color", "/fontf", "$winamp");
 
ImageJPEG($playing_s ,"playing.jpg",'100');

Hab diese Methode der Beschriftung aus einem Tutorial direkt so kopiert, und natürlich noch etwas die werte verändert für meine Zwecke.

Und komm mir nun niemand mit Quellcode einrücken, ich finde das so übersichtlicher als eingerückt :D

Edit: Huch da ist mir beim Kopieren ins Forum ein " reingerutscht

Edit: 2

So ich hab nun das hier
PHP:
$playing_s = ImageCreateFromJPEG("template.jpg");

durch das hier ersetzt,
PHP:
$playing_d = ImageCreateFromJPEG("template.jpg");
$playing_s= imagecreatetruecolor(500,100);
imagecopy($playing_s, $playing_d, 0, 0, 0, 0, 500, 100);

aber die Bildqualität ist immernoch nicht so berauschend :(
 
Zuletzt bearbeitet:
Hallo!

Hast Du es mal mit ImagePNG() versucht?
Warum? Schaue dir mal die Dateigrössen von deinen Bildern an, das generirte Bild ist kleiner als das Original und hat aber mehr Bildinformationen.... dann MUSS es ja schlechter sein.
Ich habe dein template.jpg mal bei mir getestet.... Ergebnis als PNG konnte ich kein Unterschied sehen, als JPG war die Qualität wie bei dir das playing.jpg.
Als PNG ist es bei mir grade mal 16kb grösser.... wobei ich auch sagen muss dass bei mir noch 2 weitere Bilder eingebunden werden.

Gruss Dr Dau
 
Hallo

Dr Dau hat gesagt.:
Hast Du es mal mit ImagePNG() versucht?

So weit hab ich natürlich ( wie immer ) mal wieder nicht gedacht :-(
Mit ImagePNG() ist die Bildqualität genau so wie ich es wollte.

@n00ne: imagecopyresampled() ist ja eher für das Resizen von Bildern gedacht, imagecopy() sollte da doch ausreichen :D

Danke für die Hilfe :)
 
Zurück