在Java Applet的paint()方法中使用图形对象时,
有没有人知道如何在图形对象上使用一个方法,它会返回正在使用的颜色的名称?
使用g.setColor(Color.red);
然后绘制一个矩形
我尝试过使用g.getColor()。toString();
但是这只会返回一个这样的字符串:“java.awt.Applet [r:255 g:0 b:0]”
如果可能的话,我希望找回“红色”
答案 0 :(得分:0)
如果你真的想做,应该可以这样做。我会从converting the color from RGB to HSV开始。然后将色调划分为区域。通常红色为0度,接着是黄色60度,绿色120度,青色180度,蓝色240度,品红色或紫色300度,然后回红色。您可以使用饱和度来判断值是否为灰度。该值可以告诉您“明亮”,“常规”或“黑暗”。您可能需要特殊情况下的某些值,例如橙色/棕色范围内的值。还有一些有特殊的名字,比如“光不饱和红”就是粉红色。
为了它的价值,我发布了Objective-C version here。使用上面链接的维基百科文章可能很容易转换为Java。