我在另外三个BufferedImage中分离了我的图像的颜色,当我再次将它们组合在一起时,我只得到蓝色。 当我测试红色图像真的变成红色时,我发现它也是蓝色的,它与绿色完全相同。 这是我的代码。
xpath()
那我的错误在哪里?我错过了什么?
答案 0 :(得分:4)
Color
方法getRed
,getGreen
和getBlue
将该颜色分量的强度返回为0到255之间的数字。如果将这些数字解释为已打包RGB颜色,它们只填充蓝色成分,这就是为什么你只得到蓝色。您需要按位进行右移以将颜色分量放到正确的位置。
然后,您不需要首先使用这些方法提取颜色,只需使用蒙版:
red.setRGB(x, y, image.getRGB(x, y)&0xFF0000);
green.setRGB(x, y, image.getRGB(x, y)&0x00FF00);
blue.setRGB(x, y, image.getRGB(x, y)&0x0000FF);