请建议,我正在尝试将一张图像打印一页。以下代码打印每个图像与其他图像重叠在一页上。
void pd_PrintPage(object sender, PrintPageEventArgs e)
{
List<Bitmap> labels = GetLabels();
foreach (var bitmap in labels)
{
e.Graphics.DrawImageUnscaled(bitmap, 0, 0);
}
}
答案 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