gpt4 book ai didi

java - 仅使用一种颜色生成渐变

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:12:06 25 4
gpt4 key购买 nike

我有一种颜色,例如 0xFF0000。我想只使用这种颜色作为起点信息来创建简单的渐变。第二个点的颜色比第一个颜色浅。

例如,如果我有值 - 0xFF0000 并且我想从中获取 0xCC0000。然后我可以绘制简单的渐变。

所以第二种颜色应该比第一种颜色浅 10% 或 20%

硬编码值是 Not Acceptable 。用户将从色轮中选择颜色,应用程序应自动生成第二种颜色以绘制简单的渐变。

有什么算法或方法可以实现吗?可能算法会计算更高的值:R 或 G 或 B,然后并行减少其他组件,或类似的东西......我不确定这是如何工作的。

P.S.: 我使用的是 android SDK

最佳答案

我认为最好的方法是从 RGB 转换为 the HSV space :

public int enlight(int color, float amount) {
float[] hsv = new float[3];
Color.colorToHSV(color, hsv);
hsv[2] = Math.min(1.0f, amount * hsv[2]);
return Color.HSVToColor(hsv);
}

然后您可以点亮一种颜色,只需增加 v(值)组件,然后在需要时使用完全相同的 Android API 转换回 RGB Color

关于java - 仅使用一种颜色生成渐变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13819061/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com