Может ли кто-нибудь объяснить непрофессионалами, что такое разрешение DPI и является ли оно характеристикой монитора или операционной системы? - PullRequest
0 голосов
/ 29 августа 2011

У меня есть приложение Winforms, которое корректно работает на разных версиях окон и разных разрешениях.Однако когда приложение работает на планшете Motion CL900, макеты полностью запутаны;в основном из-за того, что элементы управления панели, которые идеально подходят для других компьютеров, теперь слишком малы и вызывают полосы прокрутки.Устройства Motion работают под управлением Windows 7 Professional.

В нескольких сообщениях о stackoverflow я читал, что машины Windows имеют стандартное DPI 96, но это устройство явно не 96 DPI.Является ли тот факт, что это устройство является «нестандартным» результатом его экрана, или это вызвано настройкой в ​​его OEM-версии Windows 7?Я прочитал, что я должен установить AutoScalingDimensions для моей формы, чтобы отражать DPI компьютера, на котором я разрабатываю.Но как мне узнать, на каком DPI / моей машине я работаю?

В моем файле конструктора для формы, в которой есть проблемы с макетом, есть следующее:

this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;

Я был бы признателен всем, кто имел опыт работы с Winforms при различных разрешениях DPI, теряя некоторыеосветить этот вопрос и, возможно, дать некоторые рекомендации для разработчиков .Net, как успешно обрабатывать нестандартные DPI.

Ответы [ 4 ]

2 голосов
/ 29 августа 2011

Здесь действительно есть два разных использования этого термина:

  1. Собственное разрешение устройства отображения.Это на самом деле сколько пикселей в пределах 2,54 см.Большие значения означают, очевидно, более четкую, но меньшую картину в целом.

  2. Масштабирование шрифтов и виджетов в ОС.Например, 96 dpi - это «родной» размер для Windows.То есть, если у вас дисплей с разрешением 96 точек на дюйм, то элементы управления имеют размер, которым они должны быть, когда вы на них смотрите.Кроме того, размеры шрифтов для шрифтов точно соответствуют размеру.Если у вас есть дисплей, скажем, с разрешением 120 точек на дюйм, и вы также установите ОС на это значение, а затем поместите обе стороны рядом, вы можете измерить линейкой и найти виджеты и шрифты в обоих случаях одинакового размера.

В настоящее время вторая мера в основном контролирует размер виджета, если ваши глаза не способны работать со слишком маленькими элементами управления.И многие приложения имеют проблемы с отображением корректно, если вы измените его, хотя это намного лучше, чем в Vista.

1 голос
/ 29 августа 2011

DPI - это число точек на дюйм, и это настройка, которую вы можете установить в своей ОС. Тем не менее, это характеристика монитора.

Поскольку вы работаете в Windows 7, чтобы изменить настройки DPI, вам нужно сделать:

  1. Панель управления
  2. Внешний вид и персонализация
  3. Дисплей
  4. Установить нестандартный размер текста (DPI) - (на боковой панели)

Просто меняйте его, пока не получите 96 DPI (обычно 100%).

1 голос
/ 29 августа 2011

Windows 7 имеет параметр в свойствах «Дисплей», который называется «Задать пользовательский размер текста (DPI)», если этот параметр превышает 100%, это может повлиять на внешний вид элементов в приложении и вызвать проблемы с макетом. Я бы рекомендовал сохранить это значение на уровне 100%, что в терминах Windows составляет 96 DPI.

Примечание. Фактическое разрешение DPI определяется вашим монитором.

1 голос
/ 29 августа 2011

Точки на дюйм относятся к монитору / видеокарте / разрешению и просто означают, сколько точек (или пикселей) показано в единице длины (в дюймах).

Очевидно, что не относится к ОС, посколькуВы можете иметь одинаковые значения во всех ОС (Windows, Linux, Mac) ...

...