CImage Image; //创建CImage对象
HINSTANCE hIns = AfxGetInstanceHandle(); //Image.LoadFromResource的第一个参数
Image.LoadFromResource(hIns, IDB_MAPBMP); //从资源载入图片 //从本地载图片 Image.Load();
int** array = nullptr; //声明二维数组指针(指针的指针)
int x = Image.GetWidth(); //获取图片宽
int y = Image.GetHeight(); //获取图片高
array = new int* [x]; //开辟一维数组空间
for (int i = 0; i < x; i++)
{
array[i] = new int[y]; //开辟二维数组空间
}
for (int i = 0; i < x ; i ++)
{
for (int n = 0; n < y; n ++)
{
if (Image.GetPixel(i, n) == RGB(255, 255, 255)) //对比每个坐标的颜色,RGB(255, 255, 255)白色|RGB(0, 0, 0)黑色
{
array[i][n] = 0; //白色为0可通行
}
else
{
array[i][n] = 1; //其他颜色为1不可通行
}
}
}
TRACE("数组地址: %d\n", &array);
for (int i = 0; i < x; i++)
{
delete[] array[i]; //先删除二维数组空间
}
delete[] array; //在删除一维数组空间
return 0;
A星寻路地图二维数组转化
最新推荐文章于 2021-05-22 15:49:55 发布