0

我正在开发一个应用程序,我必须在其中使用一些 RGB 颜色。实际上,我有 RGB 和它的 HEX/HSV 等价物。

现在,我正在尝试为所选颜色动态生成匹配颜色,比如说“红色”,然后我想为红色生成 5 种匹配颜色,例如:黑色、橙色、其他红色调、一些蓝色等。 .

我不了解颜色及其计算的工作原理,因此将不胜感激任何帮助、提示、代码片段。

4

2 回答 2

0

HSV 是比 RGB 更好的颜色空间,因为 HSV 的轴直接对应于有用的颜色转换。

要使颜色更亮或更饱和,请增加其饱和度。要降低饱和度(制作灰度),请降低饱和度。降低颜色的 V(alue) 会使颜色变暗 - V 为 0 的所有颜色都是黑色。改变色调会改变颜色本身,围绕色轮移动。有关详细信息,请参阅 Wikipedia关于 HSV 的文章。

您所做的转换取决于您想要生成什么样的相关颜色。例如,如果您想要互补色,您可能想要获取颜色,保持 S 和 V 不变,并从当前颜色生成色轮周围 1/3 和 2/3 的颜色。通过改变值可以制作更亮和更暗的版本,而通过改变饱和度可以制作更多和更少的“强烈”颜色。

于 2012-10-29T14:44:59.797 回答
-2

RGB 颜色只是内存中的一个空间,其中有三个值,每个值的范围从 0 到 255。例如,红色在内存位置的“红色”字段中只是 255、0、0...255(最大值) ,在“蓝色”和“绿色”中为零。当您混合这些不同的值时,您开始获得我们在屏幕上看到的几乎无限的颜色阵列。

我不能完全告诉你如何处理你的代码而不看它,但我可以告诉你,如果你有一个控件或对象,其中你有一个 RGB 属性,你可以修改所述属性中的值以使颜色为控件或对象您想要的任何颜色。尝试查看哪些值会产生您想要的颜色,然后以您寻求的动态方式将这些值输入到属性字段中。

于 2012-10-29T01:03:58.323 回答