C# PrintPageEventArgs.Graphics.DrawRectangle печатает неправильный размер
Я ожидал, что код ниже нарисует прямоугольник шириной 3 дюйма и высотой 1 дюйм. Вместо этого фактический прямоугольник на напечатанной странице имеет ширину 4 дюйма и высоту 2 дюйма.
Каждый прямоугольник, который я пытаюсь нарисовать, всегда на 1 дюйм шире и выше, чем я ожидаю.
Что я делаю неправильно?
Какие дополнительные свойства в PrintPageEventArgs.Graphics я должен установить, чтобы получить прямоугольник правильного размера на печатной странице?
void printDocument_PrintPage(object sender, PrintPageEventArgs e)
{
e.Graphics.PageUnit = GraphicsUnit.Inch;
e.Graphics.DrawRectangle(Pens.LightGray, 1, 1, 3, 1);
}
1 ответ
Код ниже исправил эту проблему. Я подозреваю, что ширина пера по умолчанию равна 1, что интерпретируется как 1 дюйм. Это сделало прямоугольник очень большим. Задание ширины пера 0 исправило это.
void printDocument_PrintPage(object sender, PrintPageEventArgs e)
{
e.Graphics.PageUnit = GraphicsUnit.Inch;
Pen pen = new Pen(Color.LightGray, 0);
e.Graphics.DrawRectangle(pen, 1, 1, 3, 1);
}