Когда я пытаюсь рассмотреть пиксельную графику вблизи, Chrome начинает размывать изображение. Я хочу сделать так, чтобы даже при увеличении изображения я мог видеть пиксели четкими, а не размытыми.
3 ответа
Это невозможно напрямую из браузера.
Сглаживание применяется с помощью алгоритма, и большинство современных браузеров делают подобное, и в IE, Firefox и Chrome нет способа отключить это.
http://productforums.google.com/forum/#!topic/chrome/AIihdmfPNvE
У вас есть другие варианты, вот 2 основных пункта по ссылке выше, оба являются аддонами 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: optimize-contrast; /* CSS3 Proposed */
-ms-interpolation-mode: nearest-neighbor; /* IE8+ */
}
Я заметил некоторые проблемы с Chrome и Firefox при использовании графического процессора с изображениями. Например:
img {
-webkit-transform-style: preserve-3d;
transform-style: preserve-3d;
}
Если у вас есть какие-либо операторы CSS со следующими параметрами, попробуйте удалить их и посмотреть, улучшится ли качество вашего изображения.
Я сделал этот букмарклет, чтобы отключить сглаживание. Я держу ссылку на панели закладок и нажимаю на нее, когда хочу отключить сглаживание на странице, обычно для пиксельной графики или классических игр:
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);
}
})()
Причина, по которой букмарклет был привлекательным, заключается в том, что мне не нравится давать расширениям разрешение «читать и изменять все ваши данные на посещаемых вами веб-сайтах».