Почему изображение с разрешением 72 т / д увеличивается на экране с разрешением 96 т / д
- Я установил для экрана разрешение 72 DPI и создал небольшое изображение PNG размером 100x100 при 72 DPI. Это означает, что 72 пикселя представляет 1 дюйм.
- Теперь я изменил свой экран на 120 DPI и создал такое же графическое изображение PNG с разрешением 100x100 при 120 DPI. Это означает, что 120 пикселей представляет 1 дюйм.
- Я снова изменил свой экран на 96 DPI. Это означает, что 96 пикселей представляет 1 дюйм. Затем создал приложение WPF и добавил два изображения (шаг 1 и шаг 2) - я установил режим растяжения на None
Не уверен, что правильно понял концепцию, я ожидал, что изображение с разрешением 72 т / д будет выглядеть меньше при разрешении 96 т / д, поскольку если 72 пикселя представляют для этого изображения 1 дюйм, то в новой конфигурации 96 пикселей представляют 1 дюйм. И поэтому я ожидал, что изображение с разрешением 72 dpi будет выглядеть меньше. Но дело не в этом. Infact, это был просто он напротив. Изображение с разрешением 72 dpi выглядит больше при 96 dpi. Зачем? Похоже на то, что WPF всегда будет по умолчанию 96 dpi, когда дело доходит до изображений?
Обновление Почему, даже при 120 dpi (установка системного dpi на 120), только изображение с 96 dpi идеально подходит для коробки 200x200?
2 ответа
Вы делаете странные предположения о природе графической единицы WPF, не зависящей от устройства.
Независимый от устройства пиксель в мире wpf стоит 1/96 дюйма независимо от настроек экрана. Вот почему только эксперимент с 96 dpi является правильным.
Во-вторых, ваши мониторы родного dpi оказывает влияние
Вторым масштабным фактором, "настройкой DPI", является то, что мы будем варьировать в наших тестах. WPF не знает, каково фактическое физическое значение DPI вашего монитора. Вместо этого WPF использует текущую настройку этого второго масштабного коэффициента "Настройка DPI". Если "настройка DPI" не соответствует истинному физическому DPI, то "независимость разрешения" WPF будет нарушена, хотя на самом деле это не так.
Изображение с 72 точками на дюйм (DPI) будет иметь 72 точки на дюйм, тогда как изображение с 120 DPI будет иметь 120 точек на дюйм. Поэтому, если мы отображаем изображение размером дюйм на дюйм, каждая сторона будет иметь 72 точки для изображения с разрешением 72 DPI и 120 точек для изображения с разрешением 120 DPI.
Следовательно, каждая точка на изображении с разрешением 72 DPI больше, чем каждая точка на изображении с разрешением 120 точек, поэтому все изображение с разрешением 72 DPI больше, чем изображение с разрешением 120 DPI.
Для дальнейшего чтения вы можете просмотреть страницу настроек и разрешения DPI приложения WPF на веб-сайте Mindfire Solutions.