CanvasRenderingContext2D: свойство imageSmoothingEnabled
Базовая реализация Широко поддерживается
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с июля 2015 года.
Свойство imageSmoothingEnabled интерфейса CanvasRenderingContext2D, являющегося частью API Canvas API, определяет, будут ли масштабируемые изображения сглаживаться (true, по умолчанию) или нет (false). При получении значения свойства imageSmoothingEnabled, возвращается последнее заданное значение.
Это свойство полезно для игр и других приложений, использующих пиксель-арт. При увеличении изображений алгоритм по умолчанию для масштабирования будет размывать пиксели. Установите это свойство в значение false, чтобы сохранить четкость пикселей.
Примечание: Вы можете настроить качество сглаживания с помощью свойства imageSmoothingQuality.
Значение
Булево значение, указывающее, нужно ли сглаживать масштабируемые изображения. Значение по умолчанию — true.
Примеры
Отключение сглаживания изображения
В этом примере показано сравнение трёх изображений. Первое изображение отображается в натуральную величину, второе — в масштабе 3x, со включённым сглаживанием, и третье — в масштабе 3x, но со сглаживанием отключено.
HTML
<canvas id="canvas" width="460" height="210"></canvas>
JavaScript
const canvas = document.getElementById("canvas");
const ctx = canvas.getContext("2d");
ctx.font = "16px sans-serif";
ctx.textAlign = "center";
const img = new Image();
img.src =
"https://interactive-examples.mdn.mozilla.net/media/examples/star.png";
img.onload = () => {
const w = img.width,
h = img.height;
ctx.fillText("Source", w * 0.5, 20);
ctx.drawImage(img, 0, 24, w, h);
ctx.fillText("Smoothing = TRUE", w * 2.5, 20);
ctx.imageSmoothingEnabled = true;
ctx.drawImage(img, w, 24, w * 3, h * 3);
ctx.fillText("Smoothing = FALSE", w * 5.5, 20);
ctx.imageSmoothingEnabled = false;
ctx.drawImage(img, w * 4, 24, w * 3, h * 3);
};
Результат
Спецификации
| Спецификация |
|---|
| HTML # dom-context-2d-imagesmoothingenabled-dev |
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
imageSmoothingEnabled |
30 | 15 | 51 | 17 | 9.1 | 30 | 51 | 18 | 9.3 | 2.0 | 4.4 |
См. также
- Интерфейс, определяющий это свойство:
CanvasRenderingContext2D CanvasRenderingContext2D.imageSmoothingQualityimage-rendering
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/imageSmoothingEnabled