Java SubImage无法完全获取每个图像

时间:2018-12-11 05:19:36

标签: java bufferedimage

我正在做一个游戏,最近我带了一个尺寸为576××528的子画面,因为它不是公共领域,也不是合法的庞然大物,所以我无法显示或张贴在这里。但是,我希望拍摄图像内部的所有微小图像,每个图像中的16x16。代码编译没有任何错误,这不是我的问题。我的主要问题是,当我循环遍历“ Sprites”数组并将存储在每个Tile对象中的每个BufferedImage写入文件夹时,我只会得到不到一半的图像。我进行了进一步的调试,发现数组中的某些图块为空,这就是为什么它们没有被写出的原因,但是我似乎无法弄清楚为什么。

     public class Sprites {
        public SpriteSheet(String path) {

  int cellSize = 16;
  BufferedImage fullSheet = GameUtils.getImg(path);
  sprites = new Tile[(fullSheet.getHeight()/cellSize)*(fullSheet.getWidth()/cellSize)];
  System.out.println(fullSheet.getWidth());
  int r,c;
  BufferedImage img;

  for(r = 0; r < 33; r++)
     for(c = 0; c < 36; c++) {
        img = org.getSubimage(c*cellSize,r*cellSize,cellSize,cellSize);
        sprites[r*cellSize+c] = new Tile(img);
         }
     }

0 个答案:

没有答案