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.

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 oder vergleichbaren Grafikprogrammen. Auch hier stehen bei der Transformation von Grafiken verschiedene Interpolationsmethoden zur Verfügung.

Bildinterpolation in Photoshop
Bildinterpolation in Photoshop

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.

Standard-Bildskalierung im Browser. Das rot umrahmte Element ist die Originalgröße der Grafik
Standard-Bildskalierung im Browser. Das rot umrahmte Element ist die Originalgröße der Grafik

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.

Bildskalierung im Browser mit Hilfe des pixelated-Wertes von CSS. Das rot umrahmte Element ist die Originalgröße der Grafik
Bildskalierung im Browser mit Hilfe des pixelated-Wertes von CSS. Das rot umrahmte Element ist die Originalgröße der Grafik

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.

Beispiel aller Werte anzeigen

Browser Support

Den detaillierten Browser-Support für dieses Feature könnt ihr auf caniuse.com einsehen.

Data on support for the css-crisp-edges feature across the major browsers from caniuse.com

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.

Geschrieben von Jonas

Benutzerbild

Jonas ist Gründer der Agentur kulturbanause und des kulturbanause Blogs. Er arbeitet an der Schnittstelle zwischen UX/UI Design, Frontend und Redaktion und hat zahlreiche Fachbücher und Video-Trainings veröffentlicht. Jonas Hellwig ist regelmäßig als Sprecher auf Fachveranstaltungen anzutreffen und unterstützt mit Seminaren und Workshops Agenturen und Unternehmen bei der Planung, der Gestaltung und der technischen Umsetzung von Web-Projekten.

Jonas Hellwig bei Xing

Feedback & Ergänzungen – 2 Kommentare

  1. Christopher
    schrieb am 09.05.2022 um 13:53 Uhr:

    Seit einiger Zeit macht Chrome viele Bilder unscharf. Liegt wohl daran, wie Chrome damit umgeht.
    Mit dem Befehl img { image-rendering: -webkit-optimize-contrast;} wird alles wieder gut, allerdings sind dann die Bilder in Safari verpixelt. Hast du eine Lösung dazu?

    Antworten
  2. Moe
    schrieb am 15.07.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…

    Antworten

Kommentar zu dieser Seite

Wir freuen uns über Anregungen, Ergänzungen oder Hinweise zu Fehlern. Wir lesen jeden Eintrag, veröffentlichen aber nur, was den Inhalt sinnvoll ergänzt.

Website-Projekte mit kulturbanause

Wir wissen wovon wir reden. Wir realisieren komplette Projekte oder unterstützen punktuell in den Bereichen Design, Development, Strategy und Content.

Übersicht Kompetenzen →

Schulungen von kulturbanause

Wir bieten Seminare und Workshops zu den Themen Konzept, Design und Development. Immer up-to-date, praxisnah, kurzweilig und mit dem notwendigen Blick über den Tellerrand.

Übersicht Schulungsthemen →