降低android中颜色的亮度?

Ran*_*mar 0 java android colors

我正在使用 AChart 引擎。

并在运行时动态设置颜色。

这是我的代码,

private int getRandomColor() {

    Random rnd = new Random(); 
    int color = Color.argb(255, rnd.nextInt(256), rnd.nextInt(256), rnd.nextInt(256));   
    return color;
 }
Run Code Online (Sandbox Code Playgroud)

我的问题是我也得到了亮度颜色(随机)。

那么如何只避免亮度颜色呢?

我的输出:

在此处输入图片说明

Ric*_*ich 5

您最好使用 HSB(色相、饱和度、亮度)色彩空间而不是 RGB。您可以改用getHSBColor()并对饱和度和亮度进行硬编码以保持它们完全相同,只需随机化颜色即可。

private Color getRandomColor() {
    Random rnd = new Random();
    return Color.getHSBColor(rnd.nextFloat(), 0.5f, 0.5f);
}
Run Code Online (Sandbox Code Playgroud)

  • `私有颜色 getRandomColor() { Random rnd = new Random(); 返回 Color.getHSB(rnd.nextFloat(), 0.5, 0.5); }` 然后你可以编辑两个 0.5 值来品尝。 (2认同)