Страницы

Поиск по вопросам

среда, 22 января 2020 г.

DPI виртуализация

#windows #масштабирование #dpi


Что конкретно обозначается под DPI, когда речь идёт о масштабировании интерфейса?
Простое определение: dpi - это количество точек на дюйм бумаги при печати. Не совсем
ясна суть, когда речь идёт о методе виртуализации DPI в Windows. Чем больше это значение
указываешь в настройках, тем крупнее становится изображение. Но в чём логика, если
точек на дюйм становится больше, а изображение не становится от этого меньше - всё
наоборот.

Возьмём для примера отрисовку линии длиной 96 пикселей. DPI системы равен 120, PPI
- 144. Какова будет длина линии в дюймах? Ответ: 5/6 дюйма. Но как это работает?
    


Ответы

Ответ 1



DPI в Windows - это число пикселей на логический дюйм, а не физический. Нет смысла на его основе пытаться вычислить "размер чего-то в дюймах", так как эта настройка на самом деле предназначена для обратного, вычисления "размера чего-то в пикселях". Логический дюйм задается как высота строки 72-го шрифта. Тогда высота строки N-го шрифта в пикселях определяется формулой: DPI * N / 72 Отсюда и происходит увеличение размеров. Разумеется, шрифт здесь только для примера. Масштабирование DWM затрагивает не только шрифты, все линейные размеры элементов UI увеличиваются на фиксированный масштабный коэффициент, равный DPI / 96. Подробная информация: DPI and Device-Independent Pixels

Комментариев нет:

Отправить комментарий