image-rendering
O kadar ölçekli veya aşağı orijinal boyutlarından ise tarayıcı bir görüntü oluşturması gerektiğini nasıl mülkiyet tanımlar. Varsayılan olarak, her tarayıcı, bozulmayı önlemek için bu ölçeklenmiş görüntüye takma ad uygulamayı deneyecektir, ancak görüntünün orijinal pikselli biçimini korumasını istiyorsak bu bazen bir sorun olabilir.
img ( image-rendering: auto; image-rendering: crisp-edges; image-rendering: pixelated; )
Bu üç olası değer hakkında:
auto
: Bir görüntünün görünümünü en üst düzeye çıkarmak için tarayıcının standart algoritmasını kullanan varsayılan değer.crisp-edges
: Görüntünün kontrastı, renkleri ve kenarları herhangi bir yumuşatma veya bulanıklık olmadan korunur. Spesifikasyona göre bu, özellikle piksel sanatı için tasarlandı. Bu değer, yukarı veya aşağı ölçeklenmiş görüntüler için geçerlidir.pixelated
: görüntünün boyutu değiştikçe, tarayıcı en yakın komşu ölçeklemeyi kullanarak pikselli stilini koruyacaktır. Bu değer yalnızca büyütülmüş görüntüler için geçerlidir.
Bu özellik arka plan görüntülerine, canvas
öğelere ve aynı zamanda satır içi görüntülere uygulanabilir. Ancak, şu anda bu değerleri test etmenin, tutarlı tarayıcı desteğinin olmaması nedeniyle özellikle kafa karıştırıcı olduğunu unutmamak önemlidir.
Misal
İşte dört renkli pikselden oluşan çok küçük bir satır içi görüntü:
Bu satır içi görüntünün genişliğini 300px
Chrome'da (41) olarak değiştirirsek, tarayıcının görüntüyü yapabildiği en iyi şekilde optimize etmeye çalıştığını görürüz:
Orijinal pikselli görünümünü korumak için aşağıdaki pixelated
değeri kullanabiliriz , örneğin:
img ( image-rendering: pixelated; )
Bu, tarayıcının görüntünün işleneceği alternatif bir algoritma seçmesiyle sonuçlanır. Bu örnekte Chrome, varsayılan takma adı kaldıracaktır:
Ne yazık ki, birçok testten sonra, tarayıcıların crisp-edges
ve pixelated
değerlerini şu anda çok kafa karıştırıcı şekillerde yorumladıkları görülüyor, bu nedenle bu spesifikasyonun ilk günlerinde olduğunu bir kez daha not etmek önemlidir. Örneğin, Chrome, görüntüleri pixelated
Firefox ve Safari ile aynı şekilde işliyor gibi görünüyor crisp-edges
.
QR kodu örneği
Bu özelliğin başka bir kullanım durumu, standart kenar yumuşatma kullanarak boyutunu deforme etmeden boyutunu artırmak istediğiniz QR kodları için olabilir. Görüntü uzatmayı görmek için bu örneği tam ekran modunda kontrol ettiğinizden emin olun:
CodePen'de Robin Rendle (@robinrendle) tarafından hazırlanan Pen Görüntü oluşturma demosuna bakın.
Örneği değiştir
Aşağıdaki Kalemde bu değerler arasında geçiş yapmak ve tarayıcılar arasındaki farklılıkları görmek mümkündür:
CodePen'de Robin Rendle (@robinrendle) tarafından hazırlanan Pen Image işleme demosuna bakın.
Tarayıcı desteği
crisp-edges
şu anda -moz-crisp-edges
mümkün olan en iyi desteği almak için satıcı öneklerini ( ) gerektirir .
Bu tarayıcı destek verileri, daha fazla ayrıntıya sahip olan Caniuse'den alınmıştır. Bir sayı, tarayıcının özelliği o sürümde ve sonrasında desteklediğini gösterir.
Masaüstü Bilgisayar
Krom | Firefox | IE | Kenar | Safari |
---|---|---|---|---|
41 | 3.6 * | 11 * | 79 | 10 |
Mobil / Tablet
Android Chrome | Android Firefox | Android | iOS Safari |
---|---|---|---|
88 | 85 * | 81 | 10.0-10.2 |
Bu güncelleme sırasında Firefox 61 desteklemekte crisp-edges
ancak desteklememektedir pixelated
ve Chrome 68 desteklemekte pixelated
ancak desteklememektedir crisp-edges
.