Я пытаюсь оценить длину печатной строки.Как оценить длину строки для печати?
Font newFont = new Font("Arial", 12, FontStyle.Bold, GraphicsUnit.Point);
label1.Font = newFont;
labe1.Text = "300028";
Graphics g = Graphics.FromHwnd(label1.Handle);
SizeF txtSize = g.MeasureString(label1.Text, label1.Font);
txtSize - {Width = 60.3177, Height = 19.875} points.
Фактическая ширина должна быть 60,3177 * 0,353 = 21,29 мм
, где (1 балл = 1/72 дюйма = 0,353 мм)
На бумаге (печатается с Word) ширина около 13,5 мм
Почему мы получаем такую большую разницу между значением, вычисленным с помощью MeasureString (21,29 мм) и реальной (13,5 мм)?
Мне известно о limitations of the MeasureString method, но я не думаю, что это не может оправдать такую большую разницу.
Что мне не хватает?
Спасибо большое. Используя дескриптор печати, я получаю Width = 62,83094 (я бы ожидал чего-то вроде 38) – Klaus78
Вы установили размер шрифта в миллиметры? 'new Font (« Arial », 12, FontStyle.Regular, GraphicsUnit.Millimeter);' –
Я использую GraphicsUnit.Point, где 1 пункт = 1/72 дюйма = 0,353 мм, до моего понимания – Klaus78