我的项目是从表单打印面板
但决议太糟糕了
我查了很多帖子
知道主要问题是显示器和打印机之间的 DPI 差异
我尝试将我的位图设置为大并以我想要的正确尺寸打印
但似乎我不能很好地设置它们
分辨率仍然很差,尺寸变化就像无法控制
如果我将位图大小设置为大于 10k
它将从打印预览对话框中消失
我的代码在这里
Bitmap MemoryImage;
public void GetPrintArea(Panel pnl)
{
MemoryImage = new Bitmap(9000,9000);
Rectangle rect = new Rectangle(0,0,9000,9000);
pnl.DrawToBitmap(MemoryImage, rect);
}
void doc_PrintPage(object sender, PrintPageEventArgs e)
{
GetPrintArea(flowLayoutPanel1);
Rectangle pagearea = new Rectangle(0,0,5000, 5000);
e.Graphics.DrawImage(MemoryImage,pagearea);
}
PrintDocument doc = new PrintDocument();
private void button1_Click(object sender, EventArgs e)
{
PrintDocument doc = new PrintDocument();
doc.PrintPage += new PrintPageEventHandler(doc_PrintPage);
PrintPreviewDialog dlg = new PrintPreviewDialog();
PaperSize psize = new PaperSize("A4 300DPI", 2480, 3508);
doc.PrinterSettings.DefaultPageSettings.PaperSize = psize;
dlg.Document = doc;
dlg.ShowDialog();
}
我想获取面板并将其打印在 A4 上,分辨率类似于打印 word 文档
我花了将近一个星期试图解决这个问题>“<
请救救我...