今回は簡単な質問があります。ループして1ページに2x2で印刷されるアイテムを印刷したいと思います。そのためのループとRectangle配列を使用しています。しかし、それは変わる可能性があります。グラフィックの特定の部分に印刷する最も簡単な方法は何ですか?コンテキストは、提供されたe.Graphicsオブジェクトを使用してprintイベントで実行していることです。現在のコードは次のようになります。
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
}
}
画像が正しく表示されないようです。サイズが非常に小さい傾向があるため、ほとんどの画像が失われます。