Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将位图加载到数组(Java)_Java_Arrays_Image_Map_Bitmap - Fatal编程技术网

将位图加载到数组(Java)

将位图加载到数组(Java),java,arrays,image,map,bitmap,Java,Arrays,Image,Map,Bitmap,对于一个项目,我需要用Java制作一个机器人可以导航的地图。最好是,我希望将贴图存储在2D数组中,但我不知道如何在Java中将1位位图转换为数组。你能帮我个忙吗?假设是10乘10的网格,那么你可以创建一个数组,比如 Image[][] grid = new Image[10][10]; 然后 for(int x=0;x

对于一个项目,我需要用Java制作一个机器人可以导航的地图。最好是,我希望将贴图存储在2D数组中,但我不知道如何在Java中将1位位图转换为数组。你能帮我个忙吗?

假设是10乘10的网格,那么你可以创建一个数组,比如

Image[][] grid = new Image[10][10];
然后

for(int x=0;x

但是,当您存储1位位图时,存储颜色对象比存储图像对象要高效得多。

您可以使用
ImageIO.read()
方法将位图加载到
BufferedImage
实例中。然后,调用
BuffereImage.getRGB(int x,int y)
获取地图特定像素的颜色值。

Hi,我将使用的网格度量为800x600,因此手动添加不是选项。我想尼古拉斯的答案是我目前正在尝试的。然而,我试图阅读数据缓冲银行,但它只给了我6000个条目。而应为480.000条,;图像中像素的数量。现在只有一家银行,所以我不知道为什么我只收到6000条。通过直接阅读
DataBuffer
,你将不得不处理图像的低级格式。你最好坚持使用BufferImage.getRGB(intx,inty)
IMO。
for (int x = 0; X < grid.length; X++) {
  for (int y = 0; y < grid[x].length; y++) {
     grid[x][y] = theImageForThisPosition;
  }
}