2011-04-21 92 views
28

我在PictureBox中有图像,我想打印它。没有格式化,没有什么,只是打印它。打印图像c#.net

我一直在谷歌搜索,但我什么都没有,只有人打印表格或文字或报告。

private string imgSrc; 

    public string ImgSrc 
    { 
     get { return imgSrc; } 
     set { imgSrc = value; } 
    } 

    public Id_Manager() 
    { 
     ImgSrc = "D:\\Foto.jpg"; 

     InitializeComponent(); 
     idPicture.Load(this.ImgSrc); 
    } 

很明显,图像会改变,但现在我只是想打印该图像。为了以防万一,我将这个url保存在一个属性中。任何帮助?

回答

50

下面的代码使用PrintDocument对象,您可以将图像放在printdocument上然后打印出来。

using System.Drawing.Printing; 
... 
protected void btnPrint_Click(object sender, EventArgs e) 
{ 
    PrintDocument pd = new PrintDocument(); 
    pd.PrintPage += PrintPage; 
    pd.Print();  
} 

private void PrintPage(object o, PrintPageEventArgs e) 
{ 
    System.Drawing.Image img = System.Drawing.Image.FromFile("D:\\Foto.jpg"); 
    Point loc = new Point(100, 100); 
    e.Graphics.DrawImage(img, loc);  
} 
+0

非常感谢你这是在最后一行非常有益 – 2011-04-25 19:31:27

+0

,它应该是“IMG”,而不是“ ing“:-) – itsho 2012-02-24 12:59:26

+12

不要忘记在printPage(...)上放置”img“,否则,你会被第二次打印时发生IOException异常:-) – itsho 2012-02-24 13:11:37

8

使用的位置,我有做它该FileInfo的扩展方法:

public static void Print(this FileInfo value) 
{ 
    Process p = new Process(); 
    p.StartInfo.FileName = value.FullName; 
    p.StartInfo.Verb = "Print"; 
    p.Start(); 
}