0

System.Drawing.Printing の Graphics オブジェクトを使用して、印刷出力にテーブルを描画したいと考えています。DrawRectangle を使用して表のセルを描画しようとしています。これには、複数の長方形を連続して描画する必要があります。それはかなり簡単なはずですよね?DrawRectangle の 4 つのパラメーターは、x、y、幅、および高さのようです。ただし、x と y は整数ですが、幅と高さは単数です。行の次のセルの x 位置を前の四角形の幅に基づくことができないため、四角形が重なっています。つまり、x の位置と幅は異なるデータ型であり、同じスケールを使用しません。前のセルの幅に基づいて次のセルの x 位置を計算するにはどうすればよいですか?

4

1 に答える 1

1

異なるデータ型を含むDrawRectangleのオーバーロードは表示されません。

http://msdn.microsoft.com/en-us/library/fxtkbx2d.aspx

異なる幅は重要ではありません。現在の長方形の幅をXに追加し、その位置に次の長方形を描画するだけです。(長方形が異なる単位である場合は、投稿でより多くの情報を提供する必要があります。誰かが単位間の変換を手伝ってくれる可能性があります。)

いくつかの擬似コード:

current = new Rectangle(0, 0, 100, 50)
while (current.x + current.width) < page_width
  DrawRectangle(Pens.Black, current.x, current.y, current.width, current.height)
  current.x += current.width
  current.width = width_of_next_rectangle
end while
于 2010-09-30T15:38:28.070 に答える