Печать изображений c # .net - PullRequest
32 голосов
/ 22 апреля 2011

У меня есть изображение в PictureBox, и я хочу его распечатать.Нет форматирования, нет ничего, просто напечатайте его.

Я искал в Google, но у меня ничего нет, только люди печатают формы, текст или отчеты.

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 в свойстве на всякий случай.Любая помощь?

Ответы [ 2 ]

57 голосов
/ 22 апреля 2011

В приведенном ниже коде используется объект 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);     
}
9 голосов
/ 22 апреля 2011

Используя местоположение, у меня есть метод расширения FileInfo, который делает это:

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