web-dev-qa-db-fra.com

Imprimer des images c # .net

J'ai une image dans une PictureBox et je veux l'imprimer. Pas de formatage, rien du tout, il suffit de l'imprimer.

J'ai fait des recherches sur Google mais je n'ai rien, seulement des gens qui impriment des formulaires, du texte ou des rapports.

private string imgSrc;

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

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

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

De toute évidence, l'image va changer, mais pour l'instant, je souhaite simplement imprimer cette image. J'enregistre l'URL dans une propriété au cas où. De l'aide?

Le code ci-dessous utilise l'objet PrintDocument sur lequel vous pouvez placer une image sur le document d'impression, puis l'imprimer.

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);     
}
58
Robbie Tapping

En utilisant l'emplacement, j'ai cette méthode d'extension FileInfo qui le fait:

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