Color类的brighter()方法

时间:2013-09-21 19:49:11

标签: java colors

我一直在尝试一些简单的Java API,所以我可以习惯如何使用Java API。我还在向它学习,这可能就是我可能遇到这个问题的原因。

import java.awt.Color;
public class ColorClass {
    public static void main(String[] args){
        int r = 255, g = 255, b = 255;

        Color rgb = new Color(r, g, b);


        rgb.brighter();


        System.out.println("After Brighter: " + rgb.toString());


    }

}

输出继电器

After Brighter: java.awt.Color[r=255,g=255,b=255]

我想要这个输出

After Brighter: java.awt.Color[r = 144, 144, 144]

1 个答案:

答案 0 :(得分:4)

  1. rgb.brighter();会返回一个新的java.awt.Color个实例,您忽略此值,rgb仍保留原始值

  2. RGB(255,255,255)是24位调色板中最亮的颜色,您可以对其执行的唯一亮度操作是darker()

  3. 更好的测试计划是:

    public class ColorClass {
        public static void main(String[] args){
            int r = 255, g = 255, b = 255;
            Color rgb = new Color(r, g, b);
    
            for (int i = 0; i < 10; i++) {
                rgb = rgb.darker();
                System.out.println("After darker(): " + rgb);
            }
    
            for (int i = 0; i < 10; i++) {
                rgb = rgb.brighter();
                System.out.println("After brighter(): " + rgb);
            }
        }
    }