获取缓冲图像的 RGB
2022-09-02 12:45:28
任何人都可以解释如何从BufferedImage获取rgb值数组?
我在BufferedImage中有一个灰度图像,需要提取一个描述图像的0到255个值的数组。
我知道BufferedImage是正确的,因为我可以将其保存为PNG。但是,如果我使用,我得到一堆巨大的负数。int[] dataBuffInt = ((DataBufferInt) heightMap.getDataBuffer()).getData();
我已经搜索了一段时间,并看到一些关于改变某些值(帖子)的参考,但并不真正理解他们在说什么。
基本上,我想从BufferedImage转到0到255个RBG值的数组。
我不确定我是否正确地解释了自己,需要更多细节。
编辑:
@Garbage 感谢您的提示。我尝试了int[] dataBuffInt = heightMap.getRGB(0, 0, heightMap.getWidth(), heightMap.getHeight(), null, 0, heightMap.getWidth());但得到同样的结果。
@Greg Kopff 结果是2,它被设置为TYPE_INT_ARGB