java - 在数组Java中加载图像

标签 java javax.imageio

在数组中存储图像的最佳方式是什么?我正在使用 ImageIO,现在我希望将它们存储在一个数组中。

最佳答案

PixelGrabber是你想要的。

Image img = null;
try {
    img = ImageIO.read(new File("img.png"));
} catch (IOException e) {
    e.printStackTrace();
}
int w = img.getWidth(null);
int h = img.getHeight(null);
int[] pixels = new int[w * h];
PixelGrabber pg = new PixelGrabber(img, 0, 0, w, h, pixels, 0, w);
try {
    pg.grabPixels();
} catch (InterruptedException e) {
    System.err.println("interrupted waiting for pixels!");
    return;
}
if ((pg.getStatus() & ImageObserver.ABORT) != 0) {
    System.err.println("image fetch aborted or errored");
    return;
}
for (int i = 0; i < pixels.length; i++)
    System.out.println(pixels[i]);

关于java - 在数组Java中加载图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8605262/

相关文章:

java - 为什么 Java ImageIO 会展平 JPEG 颜色

java - 如何使用 java 代码删除 Xml 中的属性值?

java - Android:使用AudioTrack和Socket手动高效地流音频

java - 使用 BufferedImage 和 ImageIO 将其转换为 byte[] 后图像大小变小

java - 从 imageReader 写回修改后的图像

java - Linux 上 Spring MVC 图片上传和 ImageIO 转换失败

java - ImageIO 可以是多线程的吗?

java - 从静态上下文调用 @Autowired 存储库

java - 在java中交换文件的两列

带有整数数组的 Java "variable can only be null at this location"