Я пытаюсь распечатать панель (с ее содержимым) на принтер. Я видел разные сообщения в сети, но я не могу распечатать панель и получить правильный размер. Панель печатается очень крупно и не так, как ожидалось.Печать панели на принтер
Например, я хочу, чтобы напечатать панель и получить в качестве выходного формата 80мм X 40мм:
private void Print_Click(object sender, EventArgs e)
{
int pixelsWidth = 300; // 300 pixels= ~8cm
int pixelsHeight = 150; // 150 pixels= ~4cm
panelLabel.Size = new Size(pixelsWidth,pixelsHeight);
PrintPanel();
}
private void PrintPanel()
{
System.Drawing.Printing.PrintDocument doc = new PrintDocument();
doc.PrintPage += new PrintPageEventHandler(doc_PrintPage);
doc.Print();
}
private void doc_PrintPage(object sender, PrintPageEventArgs e)
{
Bitmap bmp = new Bitmap(panelLabel.Width, panelLabel.Height);
panelLabel.DrawToBitmap(bmp, new Rectangle(0, 0, panelLabel.Width, panelLabel.Height));
RectangleF bounds = e.PageSettings.PrintableArea;
e.Graphics.PageUnit = GraphicsUnit.Millimeter;
e.Graphics.DrawImage(bmp, bounds.Left, bounds.Top, bounds.Width, bounds.Height);
}
Спасибо, Что 800F и 254f ценности? – ehh
8 см = 80 мм. 25,4 мм = 1 дюйм. Обратите внимание на исправление ;-) – TaW