Ответ 1
К сожалению, похоже, что эта функция отсутствует в WebKit. Просмотрите последний отчет об ошибке:
У меня есть изображение размером 100x100 пикселей. Я хочу показать его в два раза больше, поэтому 200x200, и я хочу сделать это с помощью CSS и (явно) не с сервера.
Поскольку через несколько лет изображения становятся сглаженными для всех браузеров, а не для побитового масштаба.
Mozilla позволяет указать алгоритм: рендеринг изображений: -moz-crisp-edge; И IE: -ms-интерполяция-режим: ближайший сосед,
Любая известная альтернатива webkit?
К сожалению, похоже, что эта функция отсутствует в WebKit. Просмотрите последний отчет об ошибке:
WebKit теперь поддерживает директиву CSS:
image-rendering:-webkit-optimize-contrast;
Вы можете увидеть, как он работает в действии с помощью Chrome и последнего изображения на этой странице:
http://phrogz.net/tmp/canvas_image_zoom.html
Правила, используемые на этой странице:
.pixelated {
image-rendering:optimizeSpeed; /* Legal fallback */
image-rendering:-moz-crisp-edges; /* Firefox */
image-rendering:-o-crisp-edges; /* Opera */
image-rendering:-webkit-optimize-contrast; /* Safari */
image-rendering:optimize-contrast; /* CSS3 Proposed */
image-rendering:crisp-edges; /* CSS4 Proposed */
image-rendering:pixelated; /* CSS4 Proposed */
-ms-interpolation-mode:nearest-neighbor; /* IE8+ */
}
В дополнение к @Phrogz очень полезный ответ и после прочтения этого: https://developer.mozilla.org/en-US/docs/CSS/image-rendering
Кажется, что лучшим CSS будет:
image-rendering:optimizeSpeed; /* Legal fallback */
image-rendering:-moz-crisp-edges; /* Firefox */
image-rendering:-o-crisp-edges; /* Opera */
image-rendering:-webkit-optimize-contrast; /* Chrome (and eventually Safari) */
image-rendering:crisp-edges; /* CSS3 Proposed */
-ms-interpolation-mode:bicubic; /* IE8+ */