image-rendering: pixelated/crisp-edges – Bildinterpolation im Browser steuern

Grafiken werden in flexiblen Web-Layouts häufig mit Hilfe des Browsers skaliert. Sofern es sich um Pixelgrafiken handelt, geht Qualität verloren, wenn die Grafik über ihre tatsächliche Größe hinaus skaliert wird. Das Bild wird unscharf. Aus diesem Grund werden Grafiken normalerweise kleiner skaliert. Doch auch diese Vorgehensweise hat Nachteile, denn es werden mehr Daten geladen als notwendig. Responsive Images und Techniken wie Downsampling schaffen hier Abhilfe, doch auch die Art wie der Browser die Bildskalierung berechnet, kann euch dabei helfen ein optisch besseres Ergebnis zu erreichen.
Workshops & Schulungen von kulturbanause
Intensive Trainings mit hohem Praxisbezug.
image-rendering
Mit der CSS-Eigenschaft image-rendering
kann gesteuert werden, wie der Browser das Bild rendert. Sichtbar ist der Effekt aber erst, wenn das Bild skaliert wurde. Die CSS-Eigenschaft image-rendering
ist also entfernt vergleichbar mit der Bildinterpolation in Photoshop. Auch hier stehen bei der Transformation von Grafiken verschiedene Interpolationsmethoden zur Verfügung.

image-rendering: auto;
Der Standard-image-rendering
-Wert aller Browser ist auto
, was der Interpolationsmethode »Bikubisch (Automatisch)« von Photoshop am ehesten entspricht. Der folgende Screenshot zeigt, wie eine Grafik normalerweise im Browser skaliert wird.

image-rendering: pixelated;
Mit folgendem CSS-Befehl kann die Rendering-Methode auf »Pixelwiederholung« gesetzt werden:
.pixelated {
image-rendering: pixelated;
}
Hierbei werden alle Pixel auf glatte Zahlen gerundet. Das hat dann den Effekt, dass Kanten sehr scharf dargestellt werden.

image-rendering: crisp-edges;
Beim Wert crisp-edges
, wird der Browser angewiesen einen Interpolations-Algorithmus zu verwenden, bei dem Kontraste und Farben erhalten bleiben und Kanten nicht unscharf werden. Das funktioniert sowohl beim Verkleinern als auch beim Vergrößern. In der Praxis fällt es häufig schwer einen Unterschied zwischen pixelated
und crisp-edges
wahrzunehmen.
Browser-Support
Der Browser-Support ist zum Veröffentlichungszeitpunkt dieses Beitrags noch recht unübersichtlich. Chrome und Opera unterstützen die Eigenschaft ohne Präfix, allerdings nur den Wert pixelated
. Firefox und Safari benötigen einen Präfix, verstehen aber wiederum nur den crisp-edges
-Wert …
Den exakten Browser-Support entnehmt ihr bitte der Website Caniuse.
Praxiseinsatz?
Die Interpolationsmethode »Pixelwiederholung« wird in Photoshop u.a. eingesetzt, wenn QR-Codes, Strichgrafiken, technische Zeichnungen, Infografiken oder Illustrationen die einen bewusst pixeligen Look haben (z. B. der 8 Bit-Stil) skaliert werden müssen. Im Browser kann ich mir vergleichbare Einsatzzwecke vorstellen.
Links / Quellen
- Image Rendering Pixelated – HTML5Rocks
- Image Rendering – Mozilla Developers
- Image Rendering – CSS Tricks
Jetzt bist du gefragt!
Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freuen wir uns auf deinen Kommentar.
Du kannst diesen Beitrag natürlich auch weiterempfehlen. Wir sind dir für jede Unterstützung dankbar!
Das könnte dich auch interessieren
1 Kommentar
Kommentar verfassen
Moe
Verfasst am 15. Juli 2015 um 13:22 Uhr.
Vielen dank für den Artikel!
Mittlerweile sollte man aber sich so langsam mit svgs (mit png fallback 2x) beschäftigen…