0

我想从 rgb(r,g,b) 创建一个随机颜色,并希望在 a 中显示它的名称TextView

我的这段代码不起作用:

t.setText("the color is  "+Integer.toHexString(c.rgb(r, g, b)));
4

2 回答 2

0

例如,如果您想打印the color is GREEN,那么我认为您必须编写自己的算法并设置一些阈值来定义您认为颜色何时从一个名称变为另一个名称(例如从绿色变为蓝色)。然后,您会将颜色代码传递给该算法并取回该颜色的名称。

编写这样的算法甚至不必那么复杂。您可以比较自定义颜色的基本颜色成分并找到主要成分。根据它占主导地位的程度,您可以找到您的阈值,从而找到您的颜色名称。

于 2012-05-08T12:03:55.623 回答
0

http://www.iam.uni-bonn.de/~alt/latex/rgb.txt是一个颜色名称列表(它是 MIT 许可的 X11R6 的一部分,因此您可以将其包含在自己的代码中而不会过度有问题的法律限制)。您可以将其中的项目加载到 ArrayList 中,然后扫描查找您的颜色与列表中每个项目之间的距离,并使用最接近的项目的名称。

于 2012-05-08T12:16:24.453 回答