0

我想使用 System.Drawing.Printing 的 Graphics 对象在我的打印输出中绘制一个表格。我正在尝试使用 DrawRectangle 来绘制表格单元格。这需要连续绘制几个矩形。这应该很容易,对吧?那么看来DrawRectangle的四个参数是x、y、width和height。但是 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 回答