【发布时间】:2016-02-28 13:20:19
【问题描述】:
我在另外三个 BufferedImage 中将图像的颜色分开,当我再次将它们放在一起时,我只得到蓝色。 当我测试红色图像真的得到红色时,我看到它也是蓝色的,它与绿色完全相同。 这是我的代码。
public void modifyImage(BufferedImage image) {
BufferedImage green = new BufferedImage(image.getWidth(), image.getHeight(), BufferedImage.TYPE_INT_RGB);
BufferedImage blue = new BufferedImage(image.getWidth(), image.getHeight(), BufferedImage.TYPE_INT_RGB);
BufferedImage red = new BufferedImage(image.getWidth(), image.getHeight(), BufferedImage.TYPE_INT_RGB);
for(int y= 0; y < image.getHeight(); y ++){
for(int x = 0; x < image.getWidth(); x++){
red.setRGB(x, y, new Color(image.getRGB(x, y)).getRed());
green.setRGB(x, y, new Color(image.getRGB(x, y)).getGreen());
blue.setRGB(x, y, new Color(image.getRGB(x, y)).getBlue());
}
}
BufferedImage finalImage = new BufferedImage(red.getWidth(), red.getHeight(), BufferedImage.TYPE_INT_RGB);
for(int y= 0; y < image.getHeight(); y ++){
for(int x = 0; x < image.getWidth(); x++){
finalImage.setRGB(x, y, new Color(new Color(red.getRGB(x, y)).getRed(),new Color(green.getRGB(x, y)).getGreen(),new Color(blue.getRGB(x, y)).getBlue()).getRGB());
}
}
this.image = green;
}
那么我的错误在哪里?我错过了什么?
【问题讨论】:
标签: java bufferedimage