Bild automatisch skalieren
am 17.04.2011 - 17:03 Uhr in
Liebe Drupal-Community,
ich bin auf der Suche nach einem Modul, welches mir ein hochgeladenes Bild in verschiedene Formate skaliert ohne es jedes mal neu zu speichern.
Hier zeige ich es euch mal an einem Beispiel...
Das Handesblatt verwendet für einen Artikel das Originalbilld:
http://www.handelsblatt.com/images/george-papakonstantinou/4070698/1.jpg
Damit es auf der Startseite als Featured-Content angezeigt wird, wird es automatisch zu dieser Größe skaliert: http://www.handelsblatt.com/images/george-papakonstantinou/4070698/1.jpg...
(Man beachte die Endung (...1.jpg?format=format3))
Um es jetzt noch als kleines Thumbnail zu verarbeiten, wird es zu dieer Größe skaliert:
http://www.handelsblatt.com/images/george-papakonstantinou/4070698/1.jpg...
(Auch hier die Endung (...1.jpg?format=format9))
Meine Frage jetzt: Mit welchem Modul kann man so etwas hinbekommen, damit man nicht mehrere Versionen des Originalbildes auf dem Server hat.
Grüße,
notAnerd
- Anmelden oder Registrieren um Kommentare zu schreiben

Geht in Drupal 7 im Core über
am 17.04.2011 - 17:42 Uhr
Geht in Drupal 7 im Core über Image Styles.
Beste Grüße
Werner
Hmm... Dadurch erstellt er
am 17.04.2011 - 17:53 Uhr
Hmm... Dadurch erstellt er aber für jeden neuen Bildstil ein neues Bild, welches dann abgespeichert wird ... Aber genau das wollen wir ja nicht.
Es soll kein neues Bild erstellt werden, sondern quasi "on the fly" skaliert werden. Also nur eine Schablone über das Bild gelegt werden...
Ich hoffe du verstehst was ich meine :)
Gruß
Du könntest mal versuchen,
am 17.04.2011 - 19:07 Uhr
Du könntest mal versuchen, das ganze über die Attribute "height" und "width" im img-Tag zu machen.
Auch eine Möglichkeit,
am 17.04.2011 - 19:52 Uhr
Auch eine Möglichkeit, allerdings möchte ich es genauso haben wie in meinem Beispiel beschrieben.
Drupal speichert ein Bild pro
am 17.04.2011 - 20:09 Uhr
Drupal speichert ein Bild pro Stil ab, damit es beim nächsten Darstellen nicht neu gerechnet werden muß, also rein eine Maßnahme zur Performance-Verbesserungen. So wie Du Dir das vorstellst, muß die neue Dastellung jedesmal neu gerechnet werden und belastet den Server.
Beste Grüße
Werner
Vielen Dank für deine Mühen
am 17.04.2011 - 20:13 Uhr
Vielen Dank für deine Mühen Werner.
Wäre es denn so ein großer Unterschied das Bild immer neu skalieren zu lassen, anstatt es mehrmals abzuspeichern?!
Die offizielle Drupal Seite macht es sogar so!!!!
Hier das Originalbild:
http://drupal.org/node/602802
Und hier die Thumbnail-Version:
http://drupal.org/node/602802?size=thumbnail
Mich würde halt interessieren wie man das machen kann.
Zitat: Wäre es denn so ein
am 17.04.2011 - 20:38 Uhr
Wäre es denn so ein großer Unterschied das Bild immer neu skalieren zu lassen, anstatt es mehrmals abzuspeichern?!
Ja, das eine erfordert einmalig Rechenkraft und belegt dann Speicherplatz, deine gewünschte Variante erfordert jedes mal eine Neuberechnung, welche natürlich Zeit und Leistung erfordert. Das macht die Seite evtl. langsamer.
Und drupal.org macht das nicht so, das sind nämlich zwei unterschiedliche Bilder, welche entsprechend aufgerufen werden:
http://drupal.org/files/images/spin_banner.png
http://drupal.org/files/images/spin_banner.thumbnail.png
Das ist doch ganz
am 18.04.2011 - 06:38 Uhr
Das ist doch ganz einfach.
Mach eine Page welche den Contenttypen Image/png zurückgibt.
$im = file_get_contents('http://www.linux.org/images/logo/linuxorg.png');header('content-type: image/png');
echo $im;
Darin skalierst Du Deine Grafik entsprchend über die GD Bibliothek:
http://php.net/manual/de/ref.image.php
Gruss
Robert
Bilder dynamisch skalieren
am 18.04.2011 - 07:03 Uhr
$im = file_get_contents('http://www.linux.org/images/logo/linuxorg.png');header('content-type: image/png');
echo $im;
Darin skalierst Du Deine Grafik entsprchend über die GD Bibliothek:
Sorry, aber das ist absolut keine gute Idee. Ohne Caching (z.B. Abspeichern des Bildes) zwingst Du Deinen Server damit ganz locker in die Knie.
Du kannst Dir ja mal den Spass machen und die Prozessorlast beobachten, wenn Du die Bilder alle so ausgibst.