java - 使用像素 int[] 创建 BufferedImage

标签 java bufferedimage

我正在使用 sprite 表并将其设置为获取每个 sprite 的像素 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++;
   }
}

最佳答案

为什么不简单地在 BufferedImage 上调用 getSubImage(...)?我知道那是我会做的,事实上我已经做过了。

例如,请查看 my answer 的代码至 this question .

需要这个 Sprite Sheet:

flag sprite sheet

并用它创建这个 GUI:

enter image description here

关于java - 使用像素 int[] 创建 BufferedImage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20602286/

相关文章:

java - 设置 BufferedImage 的单个像素会在另一个 BufferedImage 中设置相同的像素。为什么?

java - 为什么实例方法不能重写静态方法

java - Android 上的 Exchange Web 服务,错误

Java-输出不打印

java - 使用 zip 压缩保存 BufferedImage

java - 如何使用光学字符识别确定图像中的数字是否相同或不同?

java - 如何使用 Zxing 创建自定义 View ?

java - SQL命令如何将值附加(插入)到数据库中

java - Android 如何保存 ListView 的状态

java - 转换为 BufferedImage 时 PDFBox 错误 : NoClassDefFoundError: org/apache/fontbox/FontBoxFont