#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
Комментариев нет:
Отправить комментарий