2011-04-21 3 views
28

J'ai une image dans un PictureBox, et je veux l'imprimer. Pas de formatage, pas de rien, il suffit de l'imprimer.Imprimer des images C# .net

J'ai fait des recherches sur Google mais je n'ai rien, seulement des gens qui impriment des formulaires ou du texte ou des rapports. De toute évidence, l'image va changer, mais pour l'instant, je suis juste intéressé par l'impression de cette image. Je garde l'URL dans une propriété juste au cas où. De l'aide?

Répondre

50

Le code ci-dessous utilise l'objet PrintDocument sur lequel vous pouvez placer une image dans le document print, 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);  
} 
+0

merci beaucoup, il a été très utile –

+0

sur la dernière ligne, il devrait être « img », et non " ing ":-) – itsho

+12

n'oubliez pas de disposer le" img "sur printPage (...) sinon, vous serez bloqué sur la deuxième impression avec IOException :-) – itsho

8

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(); 
} 
Questions connexes