Qualität von per PHP verkleinerten Bildern

Begonnen von puchne, 07. Juli 2006, 12:06:38

Vorheriges Thema - Nächstes Thema

puchne

Hallo,
ich wollte mal fragen wie es um die Qualität von verkleinertern Bildern per PHP steht.
Mit folgendem Code lass ich die Bilder verkleinern:



 
 
Das Problem ist die doch relativ miese Qualität, bei unglaublich übertriebener jpg-Größe des verkleinerten Bildes.
Wie kann ich die Qualität verbessern, oder ist die Qualität bei der Verkleinerung von Bildern mittels php immer recht mies?
MfG,
Jörg
http://www.licht-malerei.de\" rel=\"external nofollow\">»private Foto-Webseite



mac_bobby

Also als erstes mal:
Es ist normal, wenn du ein Picture hast, welches 100x100 groß ist und es auf 800x800 darstellst, dass du dann nur Pixel siehst, da du ja dann in dem Fall dann jedes einzelne Pixel um das 8 fache positiv skalierst ohne optisch nachbessern zu können.
Abhilfe können Vektorgrafiken schaffen.
Zur PHP-Sache:
Ansich kommt kein schlechtes Bild heraus, kommt halt auf deine Qualitätsstufe an...
Denn die Funktionen sind auch nur von \"Standard\" - Algorithmen übernommen, wie du sie auch in Photoshop etc. findest. Dabei wird jedes Pixel im Bild abgetastet, negativ skaliert und neugeschrieben...ein Verlust tritt dabei ansich nicht auf, nur dass man eben nicht mehr original-detail-genau sieht, da ja nun alles kleiner ist...also das Bild.
Nur bei der Rück-Skalierung (positiv...sprich von klein nach groß) treten wieder die Pixeleffekte auf, da du ja dann wieder das oben beschriebene Problem hast.

-= salve =-


mac_bobby


---------------


sabre

Falls du die gd-lib version 2 hast, versuch das mal mit
http://de.php.net/ImageCopyResampled\" rel=\"external nofollow\">ImageCopyResampled() statt ImageCopyResized().
[edit]Sind die Bilder grottenschlecht, oder nur schlecht? Sind sie eher pixelig? oder sieht man die jpeg-komprimierung?[/edit]

\"Ich habe mir immer gewünscht, dass mein Computer so leicht zu bedienen ist wie mein Telefon; mein Wunsch ging in Erfüllung: mein Telefon kann ich jetzt auch nicht mehr bedienen.\" - Bjarne Stroustrup




puchne

Danke für die schnelle Antwort!

Original von mac_bobby Also als erstes mal:
Es ist normal, wenn du ein Picture hast, welches 100x100 groß ist und es auf 800x800 darstellst, dass du dann nur Pixel siehst, da du ja dann in dem Fall dann jedes einzelne Pixel um das 8 fache positiv skalierst ohne optisch nachbessern zu können.
Abhilfe können Vektorgrafiken schaffen.
[/quote]
Das ist klar -
aber mir geht es eher um Bildverkleinerung, also kein hochinterpolieren oder sowas ...

Zur PHP-Sache:
Ansich kommt kein schlechtes Bild heraus, kommt halt auf deine Qualitätsstufe an...
Denn die Funktionen sind auch nur von \\\"Standard\\\" - Algorithmen übernommen, wie du sie auch in Photoshop etc. findest. Dabei wird jedes Pixel im Bild abgetastet, negativ skaliert und neugeschrieben...ein Verlust tritt dabei ansich nicht auf, nur dass man eben nicht mehr original-detail-genau sieht, da ja nun alles kleiner ist...also das Bild.
[/quote]
Naja, das ist es ja:
Die Qualität liegt bei \"90\" - die Bilder werden im Verhältnis zu ihrer tatsächlichen Größe unglaublich groß - und dabei ist die Qualität augenscheinlich sehr mies und pixelig.
Vielleicht definier ich \"mies\" ja auch total falsch - irgendwie wär mir am liebsten die Bilder nochmal weichzuzeichnen oder sowas ...
Mal ein Beispiel:
http://www.digitales-lichtbild.de/campusblog/bilder.php?kat=Coke%20WG&bild=263\" rel=\"external nofollow\">Bild Beispiel
Das Bild ist 67kb groß und für die Abmessungen (375x250px) meiner Meinung nach schon wieder viel zu groß - und dabei dann auch noch so unglaublich pixelig ...
http://www.licht-malerei.de\" rel=\"external nofollow\">»private Foto-Webseite



Powie

also, puchne hat ja definitiv von verkleinerten Bildern gesprochen.
Versuch es mal mit
$quality=100;
Dann sollte das schon wesentlich besser kommen.

puchne


Original von Powie Versuch es mal mit
$quality=100;
[/quote]
Dann werden die Dateien ja noch größer /uploads/emoticons/icon_e_sad.gif.cc8ba2b6b966c5e020020efa47702aab.gif\" alt=\":(\" /> -
noch ein Beispiel (ich postes es mal direkt):
http://www.digitales-lichtbild.de/campusblog/bilder/Spanien%20Urlaub/solito%20en%20el%20campo.JPG\" alt=\"solito%20en%20el%20campo.JPG\" />
Hier geht die Qualität sogar noch einigermaßen -
aber das Bild ist unglaubliche 300kb groß !
Daher muss ich die Qualität aufjedenfall noch runterschrauben ... so ein Bild dürfte maximal 100kb beanspruchen, denk ich ...
http://www.licht-malerei.de\" rel=\"external nofollow\">»private Foto-Webseite



mac_bobby

Hier geht die Qualität sogar noch einigermaßen -aber das Bild ist unglaubliche 300kb groß !
[/quote]
Von originalen Wieviel?

-= salve =-


mac_bobby


---------------


puchne


Original von mac_bobby
Hier geht die Qualität sogar noch einigermaßen -aber das Bild ist unglaubliche 300kb groß !
[/quote]
Von originalen Wieviel?
[/quote]
Ich hab grad noch ein Testbild hochgeladen ...
Das Originalbild (1024x768) ist 180kb groß,
die verkleinerte Version (560x420) ist 218kb groß ...
Das ist mehr als absurd ... - die Qualität ist mieser, das Bild ist größer und von den Abmessungen kleiner.
http://www.licht-malerei.de\" rel=\"external nofollow\">»private Foto-Webseite



Powie

dann schau mal nach welche \"Qualität\" dein Quellbild hat. Ich schätze mal etwas um die 75%.
Ein weiteres Problem ist der Skalierungsfaktor. Versuche mal das auf einen Ganzzahlwert herunter zu skalieren
1024 - 512 - 256 .... ansonsten wird es einfach nicht besser.

Dein Bild wird immer so pixelig bleiben, wenn du nicht ImageCopyResampled() benutzt (hat sabre ja schon geschrieben).

puchne

ok, ImageCopyResampled() macht echt den Unterschied -
die Bilder sind nun viel kleiner und sehen um einiges besser aus!
http://www.licht-malerei.de\" rel=\"external nofollow\">»private Foto-Webseite



Ja, die Lösung hat sabre aber schon lange geschrieben, beim nächsten mal einfach lesen /uploads/emoticons/icon_e_smile.gif.f7ec63a2b1c3d90a9415e40455642502.gif\" alt=\":-)\" />

sabre

...ich bins ja inzwischen gewohnt, dass man mich ignoriert /uploads/emoticons/icon_e_wink.gif.3167d127940f44558fbf1ccd9b6d60a9.gif\" alt=\";-)\" />

\"Ich habe mir immer gewünscht, dass mein Computer so leicht zu bedienen ist wie mein Telefon; mein Wunsch ging in Erfüllung: mein Telefon kann ich jetzt auch nicht mehr bedienen.\" - Bjarne Stroustrup




all your base are belong to us / Discord