这次我有一个希望是简单的问题:我想打印循环通过并以每页 2x2 打印的项目。我为此使用了一个循环和一个 Rectangle 数组。不过,这可以改变。打印到图形特定部分的最简单方法是什么?上下文是我在打印事件中使用提供的 e.Graphics 对象执行此操作 - 当前代码如下所示:
public void BeginPrintEvent(object sender, PrintPageEventArgs e)
{
SizeF TestSize;
string text = "";
Image labelImage = new Bitmap((int)e.Graphics.DpiX, (int)e.Graphics.DpiY, e.Graphics);
Graphics g = e.Graphics;
Rectangle[] rect = new[] { new Rectangle(0, 0, 419, 581),
new Rectangle(419, 0, 419, 581),
new Rectangle(0, 581, 419, 581),
new Rectangle(419, 581, 419, 581) };
try
{
for (int lblNum = 0; lblNum < 4); lblNum++)
{
g.DrawString( // lots of stuffs
e.Graphics.DrawImage(labelImage, rect[lblNum]);
}
}
catch (Exception exc)
{
// Report to user
}
}
我似乎无法正确成像,尺寸往往非常小,因此大部分图像都丢失了。