私のプロジェクトは、フォームからパネルを印刷することです
しかし、解像度はとてもひどいものでした
たくさんの投稿をチェックしました
主な問題はモニターとプリンターの 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();
}
パネルを取得して、Word文書を印刷するような解像度でA4に印刷したい
この問題を解決するのにほぼ 1 週間を費やしました >"<
助けてください...