【发布时间】:2013-08-04 19:41:35
【问题描述】:
我的项目是从表单打印面板
但分辨率太差了
我查了很多帖子
知道主要问题是显示器和打印机之间的 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 文档
我花了将近一周的时间尝试解决这个问题>“
请救救我...
【问题讨论】:
-
网上有很多关于创建与屏幕相同 DPI 的表单图像的参考资料;但是您想将图像放大以整页打印,对吗?
-
只要确保面板上的一个像素变成纸上的一个像素。这将是锋利的。但是,是的,需要放大镜。你当然可以把它打印得更大。但是你需要更长的手臂才能让它看起来很锋利。大约长6倍。您需要得出的结论是,打印面板并不是一个好主意。
-
@Ghashgul 你没有接受我的回答吗?我看到了。
-
我以为我做到了,也许我点击了两次,我的错,谢谢你的回答
标签: c# printing panel resolution