如何获取'TYPE_3BYTE_BGR'图像的RGB值?

时间:2011-10-19 05:13:28

标签: java image

我有TYPE_3BYTE_BGR的图片,我想将其转换为TYPE_INT_RGB

虽然我已经搜索过,但我还没有找到一种方法来做到这一点。我想逐个像素地转换图像。但是,BufferedImage.getRGB(i, j)似乎不起作用。

如何在TYPE_3BYTE_BGR类型的图像中获取RGB值?

1 个答案:

答案 0 :(得分:2)

我不确定你的意思是“getRGB(i,j)不起作用”。 getRGB返回一个压缩的int;你需要解码它。

int color = image.getRGB(i,j);
int r = (argb)&0xFF;
int g = (argb>>8)&0xFF;
int b = (argb>>16)&0xFF;
int a = (argb>>24)&0xFF;

请参阅How to convert get.rgb(x,y) integer pixel to Color(r,g,b,a) in Java?