contao/image

Problem with responsive images

Opened this issue · 5 comments

Issue by @mlwebworker
October 26th, 2017, 19:12 GMT

Es geht um die neue Variante bei Pixeldichte/Skalierungsfaktor - die Breitenbeschreibung (z.B. 300w), die ich sehr begrüße.
Bei einem Test ist mir allerdings zufällig aufgefallen, dass ein für mich nicht nachvollziehbares srcset entsteht, falls die angegebene Breite größer ist als die Breite des Originalbildes.
Beschrieben im Forum https://community.contao.org/de/showthread.php?68549-Responsive-geht-gar-nicht&p=454886&viewfull=1#post454886.
Da wir grundsätzlich nicht ausschließen können, dass Redakteure das auf zu kleine Originalbilder anwenden, sollte dieser Fall m.E. genauso abgefangen werden wie das passiert, wenn ich für ein Bild 600w angebe aber das Originalbild diese Breite gar nicht hergibt.

Comment by @fritzmg
October 26th, 2017, 19:23 GMT

Du solltest die Fehlerbeschreibung hier im Ticket posten.

Comment by @mlwebworker
October 26th, 2017, 22:35 GMT

Du hast ja recht.
Getestet wurde mit zwei Bildern
Bild 1: Originalbreite 600px
Bild 2: Originalbreite 477px

Eintrag im Backend bei Bildgrößen (Variante 1):
Breite: 600
size: 100vw
Pixeldichte/Skalierungsfaktor: 250w, 300w, 400w, 600w
Für das Bild mit einer Originalbreite war das erzeugte srcset wie erwartet.
Für das Bild mit einer Originalbreite von 477px ergab sich im Code ein srcset mit 477w, 377w und 314w.
Sicher korrekt ist, dass keine nach oben skalierten Bilder berechnet werden sollen, aber auf die Werte 377w und 314w kann ich mir spontan keinen Reim machen.

Eintrag im Backend bei Bildgrößen (Variante 2):
Breite: 400
size: 100vw
Pixeldichte/Skalierungsfaktor: 250w, 300w, 400w, 600w
Für beide Bilder ist das erzeugte srcset wie erwartet.
Für das zu kleine Originalbild wird 600w völlig korrekt ignoriert und auch erfreulicher Weise ein Eintrag mit der Originalbreite (477w) erzeugt.

Comment by @Toflar
October 27th, 2017, 08:59 GMT

/cc @ausi

Comment by @ausi
October 27th, 2017, 11:49 GMT

Ich kann das Problem reproduzieren, ist ein Fehler in contao/image.

@leofeyer kannst du das Issue bitte nach contao/image verschieben?

ausi commented

Sollte durch #40 behoben werden.