Hi Marc!
Hallo Fabian,
ich versuche nun doch mal ein wenig, deinen Code auseinanderzunehmen.
Hatte selbst mal probiert via PHP Thumbnails zu erstellen, es hat auch geklappt - wenn auch schlecht, weshalb ich heute ImageMagick verwende.
Ich glaube, du hast mich überzeugt - mittlerweile versuche ich mich schon seit drei Tagen daran. Langsam habe ich keine Lust...
Die Qualität von verkleinerten Bildern unter GD-Library ist meist sehr schlecht, dass einige Bilder schwarz-weiß erscheinen habe ich aber noch nicht erlebt.
Vielleicht stellst du auch mal die Bilder in Originalgröße online, zum Vergleichen?
Also hier mal zwei zum Vergleichen:
Orginal: http://klasse10a.fabis-site.net/silvester04(6).JPG (86kB)
Thumbnail: http://klasse10a.fabis-site.net/thumb_silvester04(6).JPG
In diesem Beispiel sind sie zwar nicht schwarz-weiß, aber das die Farben wohl nicht stimmen, sieht man deutlich. Bei vielen anderen Bilder ist es sogar noch schlimmer.
b) ich nicht genau weiß, wie ich es am besten anstellen soll, die Thumbnails nach der Ausgabe zu löschen
Ich hätte ein PHP-Skript erstellt, dass später als Bild eingebunden wird.
Dieses nimmt das Originalbild, verkleinert es und gibt es als Bild an den Browser aus (fpassthru()-Funktion). Da kommt man auch nicht in die Problemsituation, die du jetzt hast - das ist nämlich nicht möglich, denn dazu müsstest du über PHP feststellen dass das Bild vom Browser geladen wurde.
Achso, du meinst also ich soll ein PHP-Script schreiben, das gleich als Content-Type image/jpeg zurück liefert und das jeweilige Bild, als GET-Paramter überliefert kriegt - keine schlechte Idee ;-)
c) ich nicht ganz hinter den Sinn des Codes blicke :-(
Soweit ich noch von damals weiß kann man mit der GD-Library nur Bilder einer festen Größe anlegen, verändern kann man die gesamte Bildgröße nicht.
Mit der Funktion ImageCopyResized kann man zumindest einen Bildausschnitt (hier das gesamte Bild) kopieren und in einem anderen Bild mit anderer Größe ablegen (das via ImageCreate erstellt wurde).
Sinnvoll wäre es wirklich, wenn die GD-Library eine Funktion zur Größenveränderung des gesamten Bildes gäbe - gibt es aber AFAIK nicht.
Mittels der Funktion ImageJPEG wird das Bild dann als Datei auf die Platte geschrieben.
Vielen Dank für deine Erklärung, Marc! Ohne diese Sachverhalt zu wissen, kann man ja lange grübeln, um auf die Lösung zu kommen.
So verstanden? Dann weißt du jetzt sicher auch warum ich am Liebsten ImageMagick verwende... ;-)
Ja und ich glaube, dass ich es auch machen werden :-)
Grüße,
Fabian St.
Meine Website: http://fabis-site.net
--> XHTML, CSS, PHP-Formmailer, Linux
---------------------
fabi@erde ~# whatis spam
spam: nothing appropriate
---------------------
Selfcode: ie:% fl:| br:^ va:) ls:& fo:) rl:( n4:° ss:| de:> js:| ch:| mo:) zu:)