4

私のプロジェクトは、フォームからパネルを印刷することです

しかし、解像度はとてもひどいものでした

たくさんの投稿をチェックしました

主な問題はモニターとプリンターの 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 週間を費やしました >"<

助けてください...

4

1 に答える 1