0

在 Java Applet 的 paint() 方法中使用图形对象时,

有谁知道如何在图形对象上使用一种方法,它将返回正在使用的颜色的名称?

使用后 g.setColor(Color.red);

然后画一个矩形

我试过使用 g.getColor().toString();

但这只会返回一个像这样的字符串:“java.awt.Applet[r:255 g:0 b:0]”

如果可能的话,我希望找回“红色”

4

1 回答 1

0

如果您真的愿意,应该可以做这样的事情。我将从将颜色从 RGB 转换为 HSV开始。然后将色调划分为区域。通常红色是 0 度,然后是 60 度的黄色,120 度的绿色,180 度的青色,240 度的蓝色,300 度的品红色或紫色,然后回到红色。您可以使用饱和度来判断该值是否为灰度。该值可以告诉您“明亮”、“常规”或“黑暗”。您可能希望对某些值进行特殊处理,例如橙色/棕色范围内的值。还有一些有特殊的名字,比如“浅不饱和红色”就是粉红色。

对于它的价值,我在这里发布了一个 Objective-C 版本。可能使用上面链接的维基百科文章,转换为 Java 应该相当容易。

于 2013-10-19T01:32:26.097 回答