Táto image-rendering
vlastnosť definuje, ako má prehliadač vykresliť obrázok, ak je zmenšený alebo zmenšený z pôvodných rozmerov. V predvolenom nastavení sa každý prehliadač pokúsi použiť aliasing na tento zmenšený obrázok, aby sa zabránilo skresleniu, čo však môže byť niekedy problém, ak chceme, aby si obrázok zachoval svoju pôvodnú pixelovanú formu.
img ( image-rendering: auto; image-rendering: crisp-edges; image-rendering: pixelated; )
O týchto troch možných hodnotách:
auto
: predvolená hodnota, ktorá používa štandardný algoritmus prehľadávača na maximalizáciu vzhľadu obrázka.crisp-edges
: kontrast, farby a okraje obrázka sa zachovajú bez vyhladenia alebo rozmazania. Podľa špecifikácie to bolo špeciálne určené pre pixelové umenie. Táto hodnota platí pre obrázky zväčšené alebo zmenšené.pixelated
: pri zmene veľkosti obrázka si prehliadač zachová pixelovaný štýl pomocou zmeny mierky najbližšieho suseda. Táto hodnota platí iba pre obrázky, ktoré sú zväčšené.
Túto vlastnosť je možné použiť na obrázky na pozadí, canvas
prvky aj na vložené obrázky. Je dôležité si uvedomiť, že súčasné testovanie týchto hodnôt je obzvlášť mätúce z dôvodu chýbajúcej podpory prehliadača.
Príklad
Tu je veľmi malý vložený obrázok, ktorý sa skladá zo štyroch farebných pixelov:

Ak zmeníme šírku tohto vloženého obrázka na 300px
pôvodnú v prehliadači Chrome (41), zistíme, že sa prehliadač pokúsil optimalizovať obrázok čo najlepšie:


Na zachovanie pôvodného pixelovaného vzhľadu môžeme použiť nasledujúcu pixelated
hodnotu, napríklad:
img ( image-rendering: pixelated; )
To má za následok, že prehliadač zvolí alternatívny algoritmus, pomocou ktorého bude obrázok spracovaný. V tomto príklade Chrome odstráni predvolené aliasy:


Po mnohých testoch sa bohužiaľ zdá, že prehliadače v súčasnosti interpretujú hodnoty crisp-edges
a pixelated
veľmi mätúcim spôsobom, takže je potrebné ešte raz poznamenať, že táto špecifikácia je v začiatkoch. Napríklad sa zdá, že Chrome vykresľuje pixelated
obrázky rovnakým spôsobom, ako ich vykresľujú prehliadače Firefox a Safari crisp-edges
.
Príklad QR kódu
Ďalším prípadom použitia tejto vlastnosti môžu byť QR kódy, pri ktorých chcete zväčšiť ich veľkosť bez toho, aby ste ich skreslili pomocou štandardného vyhladzovania. Nezabudnite skontrolovať tento príklad v režime celej obrazovky, aby ste videli roztiahnutie obrázka:
Prezrite si ukážku vykreslenia obrázka pera od Robina Rendleho (@robinrendle) na serveri CodePen.
Prepnúť príklad
V peru nižšie je možné prepínať medzi týmito hodnotami a vidieť nezrovnalosti medzi prehľadávačmi:
Prezrite si ukážku vykreslenia obrázka pera od Robina Rendleho (@robinrendle) na serveri CodePen.
Podpora prehliadača
crisp-edges
momentálne vyžaduje predponu dodávateľa ( -moz-crisp-edges
), aby získala najlepšiu možnú podporu.
Údaje o podpore tohto prehľadávača sú od spoločnosti Caniuse, ktorá obsahuje viac podrobností. Číslo označuje, že prehliadač podporuje túto funkciu v danej verzii alebo vyššej.
Desktop
Chrome | Firefox | IE | Hrana | Safari |
---|---|---|---|---|
41 | 3,6 * | 11 * | 79 | 10 |
Mobil / tablet
Android Chrome | Android Firefox | Android | iOS Safari |
---|---|---|---|
88 | 85 * | 81 | 10.0-10.2 |
V čase tejto aktualizácie Firefox 61 podporuje, crisp-edges
ale nie pixelated
a Chrome 68 podporuje, pixelated
ale nie crisp-edges
.