在 Java 小程序的 paint() 方法中使用图形对象时,
有谁知道如何在图形对象上使用一种方法,从而返回正在使用的颜色的名称?
使用 g.setColor(Color.red) 后;
然后绘制一个矩形
我尝试使用 g.getColor().toString();
但这只返回这样的字符串:"java.awt.Applet[r:255 g:0b:0]"
如果可能的话,我希望找回"红色"
如果你真的想做这样的事情,应该可以做这样的事情。我会从将颜色从 RGB 转换为 HSV 开始。然后将色调划分为多个区域。通常红色在0度,其次是黄色在60度,绿色在120,青色在180,蓝色在240度,到洋红色或紫色在300度,然后回到红色。您可以使用饱和度来判断该值是否为灰度。该值可以告诉您"明亮","常规"或"黑暗"。您可能希望对某些值进行特殊处理,例如橙色/棕色范围内的值。有些有特殊的名字,比如"浅不饱和红"是粉红色的。
对于它的价值,我在这里发布了一个Objective-C版本。使用上面链接的维基百科文章转换为Java应该相当容易。