【问题标题】:Get the name of a hexadecimal colour in Java?在 Java 中获取十六进制颜色的名称?
【发布时间】:2014-09-07 20:07:15
【问题描述】:

应该是一个直截了当的问题,说我有这样的事情:

int pink = 0xff00ff;

如何转换这个整数以找出它是什么颜色?所以基本上是某种算法,它会采用一种颜色并打印出它的名字。不管是浅粉色还是深粉色,它只需要告诉我它是粉色的。这可能吗?如果这有帮助,我正在使用 Java。

编辑:另外,我不介意是否必须使用库。

【问题讨论】:

  • 没有标准库可以做到这一点。您可能需要编写自己的库。顺便说一句,0xfd00fd 是否也被视为“粉红色”?
  • 我认为这不可能,因为您的计算机几乎必须猜出所有这些。对于一个简单的版本,您可以创建一个颜色类并设置一些静态字段,例如 COLOUR_PINK(类中包含的名称字段)和一个 .getName() 函数????
  • 是的 0xfd00fd 也是粉红色的,我想。基本上,我的朋友喜欢写批处理的东西,所以我打算写一个程序,它会从图像中获取颜色,猜测它的颜色,然后批量吐出它的表示
  • 加载 eclipse 来尝试那个 .getName 的东西。不,刚刚意识到它必须是一个 Color 对象,也许我可以将十六进制放入 Color 并尝试...编辑:只需将粉色放入 Color 对象中,也不起作用。
  • 也检查一下,它有一个接受的答案,java代码stackoverflow.com/questions/8622104/…

标签: java colors


【解决方案1】:

除非它们是现有库,否则您可能必须创建颜色列表并获取最接近的值。

我认为这是入门的好来源:

https://gist.github.com/XiaoxiaoLi/8031146

【讨论】:

  • 干杯,我去看看。
  • @chrana 该链接可能很有用,但您能否解释您链接到的信息,或者提供使用代码的示例?就像现在一样,如果没有链接,您的答案是否有用。
  • 我认为这行得通,只需稍作修改以使其符合我的需要。
猜你喜欢
  • 1970-01-01
  • 2015-04-12
  • 1970-01-01
  • 2012-07-29
  • 1970-01-01
  • 2017-01-26
  • 1970-01-01
  • 1970-01-01
  • 2012-11-04
相关资源
最近更新 更多