小编Hag*_*agi的帖子

IllegalArgumentException:颜色参数超出预期范围:红绿蓝

当我用JUnit测试我的代码时,发生以下错误:

java.lang.IllegalArgumentException: Color parameter outside of expected range: Red Green Blue
Run Code Online (Sandbox Code Playgroud)

老实说,我不知道为什么.我的代码不是很长,所以我想发布它以获得更好的帮助.

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());
Run Code Online (Sandbox Code Playgroud)

当我运行JUnit测试时,eclipse标记了该行

Color grey = new Color(greyscale, greyscale, greyscale);
Run Code Online (Sandbox Code Playgroud)

所以,我想问题可能是,我使用浮动数字,你可以看到我重新计算图像的红色,绿色和蓝色内容.

谁能帮我解决这个问题?

java rgb image colors illegalargumentexception

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

colors ×1

illegalargumentexception ×1

image ×1

java ×1

rgb ×1