У меня есть панель в форме Windows, которую я хочу напечатать (в основном это точная версия предварительного просмотра для печати, которую я хочу).Его размер составляет 420 x 594 (с таким же соотношением сторон, как у бумаги формата A4 размером 210 x 297)
Поскольку фактические пиксели формата бумаги и размера панели различаются, я получаю отпечаток меньшего размера.Поэтому я попытался масштабировать растровое изображение так, чтобы оно соответствовало странице, как показано ниже
private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
Bitmap bmp = new Bitmap(panel1.Width, panel1.Height);
panel1.DrawToBitmap(bmp, new Rectangle(0, 0, 1086, 1536));
e.Graphics.ScaleTransform(1.75f, 1.75f);
e.Graphics.DrawImage(bmp, 0, 0);
}
Но это, кажется, грязный подход, так как печать также становится немного размытой.Есть ли какой-то стандартный подход для этого, которому я могу следовать?