使用像素int[]创建BufferedImage

4

我正在使用雪碧图,并已设置好获取每个精灵的像素int[],只是不确定如何使用该像素int[]来制作一个单独的图像。

我的代码:

i=0;
BufferedImage[] bi = new BufferedImage[];
for(y) {
   for (x) {
      int[] pixels = null;
      Vars.TILE_SHEET_BI().getRaster().getPixels(x, y, 16, 16, pixels);
      bi[i] = new BufferedImage(16, 16, BufferedImage.TYPE_INT_ARGB);
  bi[i].getRaster().setPixels(0, 0, 16, 16, pixels);
  i++;
   }
}
1个回答

5
为什么不直接在BufferedImage上调用getSubImage(...)方法呢?我知道这是我会做的,事实上也是我已经做过的。
例如,请查看我的答案中的代码,回答了这个问题
它使用了这张精灵表格:

flag sprite sheet

并创建了这个GUI:

enter image description here


1
哦,天啊,是的!谈论一点算法优化(从4行到1行)。 - MadProgrammer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接