Почему шрифт в .NET размером 8 отображается как 8.25?

StackOverflow https://stackoverflow.com/questions/546870

  •  23-08-2019
  •  | 
  •  

Вопрос

Когда вы выбираете, например, размер 8 в диалоговом окне Шрифт для Microsoft без засечек, он возвращает шрифт, который .NET отображает как имеющий размер 8.25?

Почему именно это происходит?

Это было полезно?

Решение

Точка равна 1/72 дюйма, поэтому шрифт должен иметь высоту 8/72 (0,11111) дюйма.Windows предполагает, что стандартный дисплей имеет разрешение 96 точек на дюйм, если только вы не потрудитесь настроить его иначе.Это означает, что он пытается создать шрифт высотой 10.66667 пикселей;он округляется до 11 пикселей.Когда вы преобразуете это обратно в баллы ((11 / 96) * 72), это становится 8,25.

Другие советы

Скорее всего, это связано с тем, как программа сопоставления шрифтов Windows вычисляет размеры шрифта.Существует небольшая разница между высотой пикселей ячеек шрифта и обычными "точками" в 1/72 дюйма.

Более подробная информация здесь: http://msdn.microsoft.com/en-us/library/ms969909.aspx

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top