-1

我一直在尝试一些简单的 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]
4

1 回答 1

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

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

更好的测试程序是:

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);
        }
    }
}
于 2013-09-21T19:52:41.593 回答