gpt4 book ai didi

java - 在 Java 中将 png 文件作为二维整数数组输入

转载 作者:行者123 更新时间:2023-11-30 07:28:04 26 4
gpt4 key购买 nike

我有两个灰度 Png 文件 ( http://imgur.com/a/9F7UW ),我想将它们视为一个二维数组,以便我可以对它们应用蒙版。

这样做的最佳方法是什么?

如果可能的话转换回来,这样我就可以在我的程序运行时显示蒙版图像。

这是大学的作业,只需要知道如何把数据弄进去,剩下的我来做。

非常感谢

最佳答案

try {
URL url = new URL("http://i.imgur.com/Ad0AP.png");
Image image = Toolkit.getDefaultToolkit().createImage(url);
} catch (MalformedURLException e) {
} catch (IOException e) {}

然后您可以使用以下方法将 Image 实例转换为 BufferedImage:

public static BufferedImage toBufferedImage(Image image) {
if (image instanceof BufferedImage) {
// Return image unchanged if it is already a BufferedImage.
return (BufferedImage) image;
}

// Ensure image is loaded.
image = new ImageIcon(image).getImage();

BufferedImage bufferedImage = new BufferedImage(image.getWidth(null), image.getHeight(null), BufferedImage.TYPE_INT_ARGB);
Graphics g = bufferedImage.createGraphics();
g.drawImage(image, 0, 0, null);
g.dispose();

return bufferedImage;
}

然后获取图像的宽度和高度以循环遍历它,之后您几乎可以将其放入您喜欢的任何数据结构中。即:

int w = i.getWidth();
int h = i.getHeight();

int[][] array = new int[w][h];
for (int j = 0; j < w; j++) {
for (int k = 0; k < h; k++) {
array[j][k] = i.getRGB(j, k); // or whatever
System.out.println("jk=" + array[j][k]);
}
}

现在.. 做剩下的:)

关于java - 在 Java 中将 png 文件作为二维整数数组输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9327768/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com