は私がグレースケール画像からホワイトカラーピクセルの値を取得し、別の色と交換しようとしていますが、私は自分のコードを実行すると、全体グレースケール画像は別の色に転送されます。誰でもコードの誤りがどこにあるのか、どうすれば希望の結果を得ることができるのか教えてください。 これは、前のコード...グレースケール画像から白色のピクセル値を取得し、別の色に置き換えるにはどうすればよいですか?
public class gray {
public static void main (String args[])throws IOException{
int width;
int height;
BufferedImage myImage = null;
File f = new File("E:\\eclipse\\workspace\\Graphs\\src\\ColorToGray\\1.png");
myImage = ImageIO.read(f);
width = myImage.getWidth();
height = myImage.getHeight();
BufferedImage image = new BufferedImage(width,height,BufferedImage.TYPE_INT_ARGB);
int pixels[];
pixels = new int[width * height];
myImage.getRGB(0, 0, width, height, pixels, 0, width);
for (int i = 0; i < pixels.length; i++) {
if (pixels[i] == 0xFFFFFF) {
pixels[i] = 0x000000FF;
}
}
File f2 = new File("E:\\eclipse\\workspace\\Graphs\\src\\ColorToGray\\out 1.png");
image.setRGB(0, 0, width, height, pixels, 0, width);
ImageIO.write(image, "jpg", f2);
}
}
画像です:私はそれに見て、問題の束を見つけ