Какова ценность GraphicsUnit.Display для принтеров - PullRequest
1 голос
/ 24 октября 2011

Я пытаюсь использовать класс PrintDocument. Я использую событие PrintPage. Функция обработчика выглядит примерно так:

void PrintH(object sender, PrintPageEventArgs e)

По умолчанию для объекта e.Graphics PageUnit установлено значение GraphicsUnit.Display, которое в соответствии с документацией указано «как правило» 1/100 дюйма для принтеров. Обычно означает всегда? Это немного неоднозначно. Если нет, то есть ли способ определить, что такое дисплей, равный в дюймах или мм (предпочтительно решение .net)?

1 Ответ

2 голосов
/ 25 октября 2011

Это «типично», потому что количество пикселей на дюйм для видео дисплея изменчиво.Значение по умолчанию было 96 точек на дюйм в течение очень долгого времени, что делает его близким к графическому устройству 1/100 "для принтера. Но это меняется, Vista особенно упростила изменение значения по умолчанию.проще читать страницу «на экране» в апплете «Дисплей» с предлагаемыми переключателями для 100% (96 т / д), 125% (120 т / д) и 150% (144 т / д).

В противном случае встречается редкоХорошее совпадение с фактическим разрешением монитора. Повышение разрешения только делает все нарисованное больше. Легче для чтения. Однако отображение принтера точное. Когда вы рисуете линию длиной 100, вы получаете дюйм на бумаге, независимо отразрешение принтера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...