gpt4 book ai didi

java - 增加android中颜色的发光度

转载 作者:行者123 更新时间:2023-12-02 07:36:07 25 4
gpt4 key购买 nike

我正在使用此代码随机更改 TextView 的颜色。我有黑色背景,所以有时这些颜色很难阅读。

 int r = (rand.nextInt(176) * 80 ) / 256;
int g = (rand.nextInt(176) * 80 ) / 256;
int b = (rand.nextInt(176) * 80 ) / 256;

TextView pos = (TextView) view.findViewById(R.id.position);
pos.setText(((Integer)(position + 1)).toString());
pos.setTextSize(30);
pos.setTextColor(Color.argb(255,r,g,b));

TextView data = (TextView) view.findViewById(R.id.textOfTip);
data.setText(tipsList[position].toString());
data.setTextSize(24);
data.setTextColor(Color.argb(255,r,g,b));

我的问题是,如何增加文本颜色的亮度或发光效果,以便他们可以轻松阅读。

最诚挚的问候

最佳答案

首先,以 0xAARRGGBB 格式获取颜色(例如,纯红色为 0xFFFF0000)。然后,将其插入方法 colorToHSV 。接下来,更改 L/V/B值( vary slightly ,但我认为对于你正在做的事情来说足够接近)。最后调用HSVToColor再次获取 0xAARRGGBB 格式的新颜色。那么有several ways将其转换为 R、G、B 值,这通常涉及字节移位。

类似这样的事情:

int color = 0xFFFF0000;
float[] hsv = new float[3];
Color.colorToHSV(color, hsv);
hsv[2] = 0.2f;
color = Color.HSVToColor(hsv);
int[] rgb = new int[3];
MyColor.colorToRGB(color, rgb); // Your custom method
// The rgb array now contains your RGB colors.

注意:还有 RGBToHSV ,这可能会派上用场。

关于java - 增加android中颜色的发光度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12208635/

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