打印预览C#中的中心图像

时间:2016-05-19 20:51:37

标签: c# .net image winforms printing

我正在使用WinForms。在我的表格中,我有一个图片框和一个打印按钮。有没有办法让我加载到图片框中的图像始终位于打印预览窗口的中心?下图显示了我的表单和打印预览屏幕中未居中的图像。

enter image description here

enter image description here

    private void Form1_Load(object sender, EventArgs e)
    {
        pictureBox1.Image = new Bitmap(@"C:\Users\Nav\Pictures\Test_Image.png");
    }

    private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
    {
        e.Graphics.DrawImage(pictureBox1.Image,50,50);
    }

    private void Btn_Print_Click(object sender, EventArgs e)
    {
        printPreviewDialog1.Document = printDocument1;
        printPreviewDialog1.ShowDialog();
    }

1 个答案:

答案 0 :(得分:4)

您没有在文档中心绘制图像。你在(50,50)画画。相反,你可以这样在文档的中心绘制它:

e.Graphics.DrawImage(img,
                     (e.PageBounds.Width - img.Width) / 2,
                     (e.PageBounds.Height - img.Height) / 2,
                     img.Width,
                     img.Height);