在单独的页面上打印图像?

时间:2012-09-24 10:18:33

标签: c# printing

请建议,我正在尝试将一张图像打印一页。以下代码打印每个图像与其他图像重叠在一页上。

  void pd_PrintPage(object sender, PrintPageEventArgs e)
    {

        List<Bitmap> labels = GetLabels();


        foreach (var bitmap in labels)
        {
            e.Graphics.DrawImageUnscaled(bitmap, 0, 0);
        }
    }

1 个答案:

答案 0 :(得分:1)

将位图的读取移到PrintPage事件处理程序之外,使其如下所示:

void pd_PrintPage(object sender, PrintPageEventArgs e)
{
   var bitmap = GetNextLabel();

   if(bitmap != null)
   {
      e.Graphics.DrawImageUnscaled(bitmap, 0, 0);
   }

   // Will print more pages as long as there are bitmaps
   e.HasMorePages = (bitmap != null);
}

因此GetNextLabel()方法必须跟踪下一个要打印的位图,并在没有打印时返回null。

设置e.HasMorePages = true将打印另一页。有关详细信息,请参阅此link