
Когда я пытаюсь рассмотреть пиксельную графику вблизи, Chrome начинает размывать изображение. Я хочу сделать так, чтобы даже при увеличении изображения я мог видеть пиксели в четких деталях, а не размытыми.
решение1
Обновлять
Согласно комментариям:
теперь это возможно в Firefox: image-rendering: optimizeSpeed; – Арно
Оригинал
Это невозможно сделать напрямую из браузера.
Сглаживание применяется с помощью алгоритма, и большинство современных браузеров делают то же самое, а в IE, Firefox и Chrome отключить его невозможно.
http://productforums.google.com/forum/#!topic/chrome/AIihdmfPNvE
У вас есть и другие варианты, вот два основных пункта по ссылке выше, оба являются дополнениями для Chrome.
изменение размера изображения
imagezoom
Вы могли бы применитьCSS-код ниже в браузере, что его выключит!
img {
image-rendering: optimizeSpeed; /* */
image-rendering: -moz-crisp-edges; /* Firefox */
image-rendering: -o-crisp-edges; /* Opera */
image-rendering: -webkit-optimize-contrast; /* Chrome (and Safari) */
image-rendering: pixelated; /* Chrome as of 2019 */
image-rendering: optimize-contrast; /* CSS3 Proposed */
-ms-interpolation-mode: nearest-neighbor; /* IE8+ */
}
решение2
Возможно в 2019 году со следующим CSS:image-rendering: pixelated;
решение3
Я сделал этот букмарклет, чтобы отключить сглаживание. Я сохраняю ссылку на панели закладок и нажимаю на нее, когда хочу отключить сглаживание на странице, обычно для пиксельной графики иликлассическая игра:
javascript:(function pixelate() {
const sheet = document.createElement('style');
sheet.innerHTML = 'img { image-rendering: pixelated; }';
document.head.appendChild(sheet);
for(let i = 0; i < frames.length; ++i) {
frames[i].document.head.appendChild(sheet);
}
})()
Причина, по которой мне понравился букмарклет, заключается в том, что мне не нравится давать расширениям разрешение «читать и изменять все ваши данные на посещаемых вами веб-сайтах».
решение4
Я заметил некоторые проблемы с Chrome и Firefox при использовании GPU-рендеринга изображений. Например:
img {
-webkit-transform-style: preserve-3d;
transform-style: preserve-3d;
}
Если у вас есть какие-либо операторы CSS со следующими характеристиками, попробуйте удалить их и посмотрите, улучшится ли качество изображения.