我有TYPE_3BYTE_BGR
的图片,我想将其转换为TYPE_INT_RGB
。
虽然我已经搜索过,但我还没有找到一种方法来做到这一点。我想逐个像素地转换图像。但是,BufferedImage.getRGB(i, j)
似乎不起作用。
如何在TYPE_3BYTE_BGR
类型的图像中获取RGB值?
答案 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?