java - 降低Android中颜色的亮度?

标签 java android colors

我正在使用 AChart Engine。

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

这是我的代码,

private int getRandomColor() {

    Random rnd = new Random(); 
    int color = Color.argb(255, rnd.nextInt(256), rnd.nextInt(256), rnd.nextInt(256));   
    return color;
 }

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

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

我的输出:

enter image description here

最佳答案

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

private Color getRandomColor() {
    Random rnd = new Random();
    return Color.getHSBColor(rnd.nextFloat(), 0.5f, 0.5f);
}

关于java - 降低Android中颜色的亮度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27229511/

相关文章:

java - jdk 更新后获取 PKIX 路径构建失败 : sun. security.provider.certpath.SunCertPathBuilderException

android - 在函数内部时,jQuery 更改事件不会在移动设备上触发

algorithm - 选择类似于浅色的深色的算法

java - ContentProvider.Query - 如何使用 URI 选择我想要的表?

java - getClass().getName() 不返回 fragment 中的类名

html - HTML/CSS 中允许的颜色名称

java - 以 LookAndFeel 风格绘制圆形按钮

java - java 的线程与物理处理器的线程相比如何?

java - 从 JSP 发送文件到 Servlet

java - 如何使用 java 场景生成器从 fxml 获取值