Загрузить растровое изображение в массив (Java) - PullRequest
2 голосов
/ 26 ноября 2010

Для проекта мне нужно сделать карту на Java, по которой робот сможет перемещаться.Предпочтительно, я хотел бы сохранить карту в 2D-массиве, но я не знаю, как перейти от 1-битного растрового изображения к массиву в Java.Вы можете мне помочь?

Ответы [ 2 ]

2 голосов
/ 26 ноября 2010

Вы можете использовать метод ImageIO.read() для загрузки вашего растрового изображения в BufferedImage экземпляре.Затем вызовите BufferedImage.getRGB(int x, int y), чтобы получить значение цвета определенного пикселя вашей карты.

0 голосов
/ 26 ноября 2010

Предполагая сетку 10 на 10, вы создадите массив, такой как

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

Тогда

for (int x = 0; X < grid.length; X++) {
  for (int y = 0; y < grid[x].length; y++) {
     grid[x][y] = theImageForThisPosition;
  }
}

Однако, так как вы храните 1-битные битовые карты, это будетгораздо эффективнее хранить объекты Color, чем объекты Image.

...