canvas | Сглаживание изображения

canvas | Сглаживание изображения

Для веб-разработчиков (не нормативно)

context.imageSmoothingEnabled [ = value ]

Возвращает значение заполнения шаблона, и метод drawImage() попытается сгладить изображения, если их пиксели не совпадают точно с дисплеем при масштабировании изображений.

Можно установить, чтобы изменить, сглаживаются ли изображения (true) или нет (false).

context.imageSmoothingQuality [ = value ]

Возвращает текущее предпочтение качества сглаживания изображения.

Можно установить, чтобы изменить предпочтительное качество сглаживания изображения. Возможные значения: «low» (низкий), «medium» (средний) и «high» (высокий). Неизвестные значения игнорируются.

 

Объекты, реализующие интерфейс CanvasImageSmoothing, имеют атрибуты, управляющие тем, как выполняется сглаживание изображения.

Атрибут imageSmoothingEnabled при получении должен возвращать последнее значение, на которое он был установлен. При настройке должно быть установлено новое значение. При создании объекта, реализующего интерфейс CanvasImageSmoothing, для этого атрибута должно быть установлено значение true.

Атрибут imageSmoothingQuality при получении должен возвращать последнее значение, на которое он был установлен. При настройке должно быть установлено новое значение. При создании объекта, реализующего интерфейс CanvasImageSmoothing, для атрибута должно быть установлено значение «low» (низкий).

 

Перечисление ImageSmoothingQuality используется для выражения предпочтения качества интерполяции, используемого при сглаживании изображений.

Значение «low» указывает на предпочтение низкого уровня качества интерполяции изображения. Интерполяция изображений низкого качества может быть более эффективной с точки зрения вычислений, чем более высокие настройки.

Значение «medium» указывает предпочтение среднего уровня качества интерполяции изображения.

Значение «high» указывает на предпочтение высокого уровня качества интерполяции изображения. Высококачественная интерполяция изображений может быть более затратной с точки зрения вычислений, чем более низкие настройки.

Примечание

Билинейное масштабирование (Bilinear scaling) — это пример относительно быстрого алгоритма сглаживания изображения более низкого качества. Бикубическое масштабирование (Bicubic scaling) или масштабирование Ланцоша (Lanczos scaling) являются примерами алгоритмов сглаживания изображений, которые обеспечивают более высокое качество вывода. Эта спецификация не требует использования определенных алгоритмов интерполяции.

 

Информационные ссылки

Стандарт HTML — Раздел «4.12.5.1.17 Image smoothing» — https://html.spec.whatwg.org/multipage/canvas.html#image-smoothing