打印一个png文件,但似乎无法打印

时间:2016-03-30 03:22:52

标签: c#

美好的一天!我试图使用Picturebox打印一个png文件作为我的按钮。 但是,我似乎无法打印。请你帮助我好吗?或者给我一个链接,指导我如何使用C#VS 2010在默认打印机上打印

private void pictureBox2_Click(object sender, EventArgs e)
{
    using (PrintDocument pd = new PrintDocument())
    {
        using (PrintDialog printDialog = new PrintDialog())
        {
            if (printDialog.ShowDialog() == DialogResult.Yes)
            {
                pd.PrintPage += new PrintPageEventHandler(pd_PrintPage);
                pd.Print();
            }
        }
    }
}

private void pd_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{

    System.Drawing.Image img = Image.FromFile(@"C:\Coke\res10.png");
    e.Graphics.DrawImage(img, 0,0); 
}

2 个答案:

答案 0 :(得分:2)

这是一个简单的,但容易错过..

你正在做的一切正确。只有一件小事不是'OK'

您需要更改

if (printDialog.ShowDialog() == DialogResult.Yes)

if (printDialog.ShowDialog() == DialogResult.OK)

毕竟,这不是一个问题,所以它表明“好”。和'取消'不是'是'和'不'。

答案 1 :(得分:1)

为此找到了解决方案。

 PrintDocument pd = new PrintDocument();
 pd.PrintPage += (sender, args) =>
 {
       Image i = Image.FromFile("C://tesimage.PNG");
       args.Graphics.DrawImage(i, args.PageBounds);

 };
 pd.Print();