Обучение
Модуль
Develop accessible resize and reflow - Training
Learn why supporting resize and reflow is crucial for creating accessible websites and apps.
Этот браузер больше не поддерживается.
Выполните обновление до Microsoft Edge, чтобы воспользоваться новейшими функциями, обновлениями для системы безопасности и технической поддержкой.
Создание приложения с поддержкой DPI — это ключ к тому, чтобы пользовательский интерфейс выглядел постоянно хорошо в самых разных параметрах дисплея с высоким разрешением. Приложение, которое не поддерживает DPI, но работает с параметром отображения с высоким разрешением, может страдать от множества визуальных артефактов, включая неправильное масштабирование элементов пользовательского интерфейса, обрезанный текст и размытые изображения. Благодаря добавлению в приложение поддержки осведомленности о DPI вы делаете представление пользовательского интерфейса приложения более предсказуемым, что делает его более визуально привлекательным и более удобным для чтения для пользователей. К счастью, Direct2D упрощает написание приложений, которые хорошо работают с высоким разрешением. В этом разделе содержатся следующие подразделы.
Direct2D предоставляет следующие возможности для работы со сценариями с высоким разрешением:
Графический конвейер Direct2D предназначен для масштабирования с 96 DPI до 1200DPI.
Начиная с Windows 8, существуют дополнительные функции для поддержки высокого разрешения.
Если DPI контекста устройства достаточно высок, Direct2D изменяет пороговое значение, которое он использует, чтобы включить вертикальное сглаживание текста. Это ускоряет отрисовку текста на дисплеях с высоким разрешением. Кроме того, можно переключить режим единицы измерения в пиксели вместо DIP с помощью метода ID2D1DeviceContext::SetUnitMode . Если в режиме единицы измерения заданы пиксели, а для контекста устройства — значение DPI экрана, оптимизация по-прежнему включена.
Независимый от устройства пиксель (DIP) — это логический пиксель, который сопоставляется с пикселями физического устройства с помощью скалярного значения DPI. DPI означает точки на дюйм, где точка представляет физический пиксель устройства. (Номенклатура происходит от печати, где точки — это самая маленькая точка рукописного ввода, которую может создать процесс печати). Так как стандартный монитор имел 96 точек на дюйм, то DPI 96 означало, что устройство независимо от пикселя (или DIP) сопоставляется 1:1 с физическим пикселем. Например, если значение DPI равно 96*2 = 192, то один DIP будет охватывать два физических пикселя.
Существует множество причин, по которым приложения не обязательно правильно обрабатывают такое масштабирование. одна из простейших причин заключается в том, что для обнаружения и использования этого скалярного значения при отрисовке требуется дополнительная работа. В Direct2D масштабирование применяется по умолчанию. Из-за этого сопоставления пиксели физических устройств могут оказаться в дробных координатах DIP, что является одной из причин, почему Direct2D использует координатное пространство с плавающей запятой.
Чтобы преобразовать физический пиксель в DIP, используйте следующую формулу:
Примечание
Начиная с Windows 8, с помощью метода ID2D1DeviceContext::SetUnitMode можно переключить режим единицы измерения в пиксели вместо DIP.
Обучение
Модуль
Develop accessible resize and reflow - Training
Learn why supporting resize and reflow is crucial for creating accessible websites and apps.