В чем преимущество независимых от устройства пикселей?

Я учусь о WPF. WPF использует независимые от устройства пиксели. Но я не могу их понять. Почему они лучше, чем пиксели, зависящие от устройства, если большинство других приложений зависят от устройства, а приложения WPF - нет? Будут ли они торчать?

Ответы

Ответ 1

Преимущество независимых от устройства пикселей заключается в том, что при указании пользовательского интерфейса вы можете определить размер, который компоненты пользовательского интерфейса будут отображаться на пользовательском устройстве, независимо от разрешения экрана пользователя. К сожалению, это не так просто, поскольку это требует от пользователя, чтобы различные настройки были установлены "правильно", и его можно переопределить пользователем, который хочет изменить разрешение своего устройства (например, частично видимый пользователь, который хочет работайте с низким разрешением, чтобы облегчить чтение текста).

В дополнение к другой опубликованной ссылке вы также можете проверить это: http://www.wpflearningexperience.com/?p=41

Обратите внимание, что вы можете включить привязку элемента управления к пикселям устройства с установленным значением SnapsToDevicePixels равным true, чтобы избежать размытости, возникающей при горизонтальной/вертикальной линии на границе между двумя пикселями устройства.

Ответ 2

Прежде чем понимать независимый от устройства блок, необходимо понять, что такое DPI. DPI - это точки на дюйм, это означает, что будет определенное число (обычно 96) пикселей в дюйме. Но важно понимать, что в среде Win32 этот дюйм не фиксирован в размере как физический дюйм. Поэтому, когда количество точек увеличивается/уменьшается, изменяя разрешение, в результате увеличивается или уменьшается количество точек в дюйме, в результате размер "дюйма" увеличивается или уменьшается. Однако в случае WPF размер в дюймах так же хорош, как и физический дюйм, в результате каждый раз, когда DPI изменяется, система соответствующим образом регулирует его.

Ответ 3

Это о UI и масштабировании шрифтов в зависимости от настройки DPI системы:

Не все приложения поддерживают DPI: некоторые использовать аппаратные пиксели в качестве основного единица измерения; изменения система DPI не влияет на эти Приложения. Многие другие приложения используйте модули DPI для описания шрифта размеры, но используйте пиксели для описания все остальное. Создание ДОИ также маленький или слишком большой может привести к компоновке проблемы для этих приложений, потому что текстовые шкалы приложений с установкой DPI системы, но пользовательский интерфейс приложений не работает. Эта проблема устранена для приложений, разработанных с использованием WPF.

WPF поддерживает автоматическое масштабирование используя независимый от устройства пиксель как его первичная единица измерения, вместо аппаратных пикселей; графика и текстовую шкалу дополнительная работа из приложения разработчик.

Это взято из ссылки, предоставленной Кишоре. (http://msdn.microsoft.com/en-us/library/ms748373.aspx)