我想从rgb(r,g,b)创建一个随机颜色,并希望在TextView
中显示其名称。
我的这段代码不起作用:
t.setText("the color is "+Integer.toHexString(c.rgb(r, g, b)));
答案 0 :(得分:0)
例如,如果你想打印the color is GREEN
,那么我认为你必须编写自己的算法并设置一些阈值来定义你何时认为颜色从一个名称变为另一个名称(例如从GREEN到蓝色)。然后,您将颜色代码传递给该算法并返回该颜色的名称。
编写这样的算法甚至不必那么复杂。您可以比较自定义颜色的基色组件并找到主要组件。根据它占主导地位,您可以找到您的阈值,从而找到您的颜色名称。
答案 1 :(得分:0)
http://www.iam.uni-bonn.de/~alt/latex/rgb.txt是一个颜色名称列表(它是MIT许可的X11R6的一部分,因此您可以将其包含在您自己的代码中,而不会出现过多的法律限制)。您可以将项目从它加载到ArrayList中,然后扫描查找颜色与列表中每个项目之间的距离,并使用最接近的项目的名称。