我想用像素数据填充double[400]
数组,如下面的代码所示。
我一直在寻找答案,但我还没有找到答案。我的尝试是:
Bitmap bm = (Bitmap) Image.FromFile(fileName);
numberVisual.Image = bm;
long overallIteration = 0;
for (long i = 0; i <= 20/*bm.Width*/; ++i)
{
for (long h = 0; h <= 20/*bm.Height*/; ++h)
{
input[/*(i * h)*/overallIteration] =
bm.GetPixel((int)h, (int)i) != Color.White ? 0 : 1;
++overallIteration;
}
}
它在
上发出例外bm.GetPixel System.ArgumentOutOfRangeException:参数必须是 积极的和&lt;宽度。
我使用的所有位图都是20x20px。
答案 0 :(得分:1)
请检查您要加载的图像的高度和宽度,如果图像是20x20,则必须从0到19而不是从0到20进行迭代
正确代码
for (long i = 0; i < 20; ++i)
{
for (long h = 0; h < 20; ++h)
{
代码错误
for (long i = 0; I <= 20; ++i)
{
for (long h = 0; h <= 20; ++h)
{