我试图编写一段代码来创建黑色位图
Bitmap rectangle = new Bitmap(100, 100);
for (int i = 1; i <= rectangle.Width - 1; i++)
for (int j = 1; i <= rectangle.Height - 1; j++)
rectangle.SetPixel(i, j, Color.Black);
但它不断抛出System.ArgumentOutOfRangeException。
答案 0 :(得分:1)
Bitmap rectangle = new Bitmap(100, 100);
for (int i = 1; i <= rectangle.Width - 1; i++)
for (int j = 1; i <= rectangle.Height - 1; j++)
rectangle.SetPixel(i, j, Color.Black);
问题在于你的第二个循环的停止条件:
i <= rectangle.Height - 1
应该是
j <= rectangle.Height - 1
我现在这不是'代码审核'问题,但这里有一个建议:避免使用magic numbers
我们只需删除-1
并使用<
代替<=
即可。
Bitmap rectangle = new Bitmap(100, 100);
for (int i = 0; i < rectangle.Width; i++)
for (int j = 0; j < rectangle.Height; j++)
rectangle.SetPixel(i, j, Color.Black);