我想画一个这样的网格:
我希望能够设置每个矩形个体的颜色。我还希望能够将特定的矩形设置为透明的。
在 MonoTouch / C# 中绘制这样的网格的最简单方法是什么?
我想画一个这样的网格:
我希望能够设置每个矩形个体的颜色。我还希望能够将特定的矩形设置为透明的。
在 MonoTouch / C# 中绘制这样的网格的最简单方法是什么?
该代码在面板上显示了网格的绘制,但您可以使用任何东西作为您的画布控件。检查以下代码:
int numHorisontal = 20;
int numVertical;
int squareDim = 10;
int xOffset = 30;
int yOffset = 30;
void panel_Paint(object sender, PaintEventArgs e)
{
for (int i = 0; i <= numVertical; i++)
{
e.Graphics.DrawLine(Pens.Black, new Point(xOffset, yOffset + i * squareDim), new Point(xOffset + 20 * squareDim, yOffset + i * squareDim));
}
for (int i = 0; i < numHorisontal; i++)
{
e.Graphics.DrawLine(Pens.Black, new Point(xOffset + i * squareDim, yOffset), new Point(xOffset + i * squareDim, yOffset + 20 * squareDim));
}
}
numHorisontal
是网格中水平方格的数量,numVertical
是垂直方格的数量。squareDim
是一个正方形边的大小。如果要在索引 i 和 j 上设置正方形的颜色,则可以使用以下方法。如果你想设置一些正方形透明,那么画布也应该是透明的(将画布的背景颜色设置为透明)。
private void SetColor(int i, int j, Color color, Graphics g)
{
g.FillRectangle(new SolidBrush(color), new Rectangle(i * squareDim, j + squareDim, squareDim, squareDim));
}
请注意,这是您想在 WinForms 中使用 C# 绘制的代码,您可以在任何其他技术中使用类似的代码。