I have an image in a PictureBox, and I want to print it. No formatting, no nothing, just print it.

I've been searching on Google but I've got nothing, only people printing forms or text or reports.

private string imgSrc;

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

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

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

Obviously the image is going to change, but for now I'm just interested in printing that image. I'm saving the url in a property just in case. Any help?


The Code below uses the PrintDocument object which you can place an image on to the printdocument and then print it.

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);     
}

Using the location, I have this FileInfo extension method that does it:

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