IllegalArgumentException: parâmetro de cor fora do intervalo esperado: vermelho verde azul
quando eu testei meu código com JUnit, ocorreu o seguinte erro:
java.lang.IllegalArgumentException: Color parameter outside of expected range: Red Green Blue
Honestamente, não sei porque. Meu código não é muito longo, então gostaria de postar para melhor ajuda.
BufferedImage img = ImageIO.read(f);
for (int w = 0; w < img.getWidth(); w++) {
for (int h = 0; h < img.getHeight(); h++) {
Color color = new Color(img.getRGB(w, h));
float greyscale = ((0.299f * color.getRed()) + (0.587f
* color.getGreen()) + (0.144f * color.getBlue()));
Color grey = new Color(greyscale, greyscale, greyscale);
img.setRGB(w, h, grey.getRGB());
Quando eu executo o teste JUnit, o eclipse marca a linha com
Color grey = new Color(greyscale, greyscale, greyscale);
Então, suponho que o problema seja que eu trabalhe com números flutuantes e, como você pode ver, eu recalculo o conteúdo vermelho, verde e azul da imagem.
Alguém poderia me ajudar a resolver esse problema?