C# 选择美观的随机颜色

C# 选择美观的随机颜色,c#,.net,colors,C#,.net,Colors,我有一组类别(其数量根据特定状态而变化),每个类别都需要指定一种唯一的颜色 我尝试过使用随机颜色,但它们看起来很糟糕,因此我需要一种生成相互适合的随机颜色的方法。为什么不创建一个您认为相互适合的颜色列表(如基本的红色、绿色、蓝色、黄色、橙色等),然后简单地从列表中选择随机颜色,安全的知识是,无论选择什么颜色,它们在一起看起来都相当不错。你应该了解颜色理论和互补色;这将给你的颜色很好地配合 看一看。使用四分体模式查看如何组合4种颜色和不同的色调,以在图像中提供许多不同的区域 以下是一个和,它可能会

我有一组类别(其数量根据特定状态而变化),每个类别都需要指定一种唯一的颜色


我尝试过使用随机颜色,但它们看起来很糟糕,因此我需要一种生成相互适合的随机颜色的方法。

为什么不创建一个您认为相互适合的颜色列表(如基本的红色、绿色、蓝色、黄色、橙色等),然后简单地从列表中选择随机颜色,安全的知识是,无论选择什么颜色,它们在一起看起来都相当不错。

你应该了解颜色理论和互补色;这将给你的颜色很好地配合

看一看。使用四分体模式查看如何组合4种颜色和不同的色调,以在图像中提供许多不同的区域


以下是一个和,它可能会对您有所帮助。

要扩展前面的答案,您可以使用一个服务,例如(从图像创建配色方案)来创建保证“不奇怪”的配色方案,然后从该方案中选择一种随机颜色。

您必须使用网络上的颜色选择器来制定一个算法,并查看当您以固定数量更改RGB值时会发生什么。如果您可以找到(例如:在R值上加10,如果到达终点,在G值上加10,然后重置R值),您可以动态地为自己制作一个列表


第二个选择是,当你知道你有一个最大的类别时,你可以创建一个列表并使用它。

我在类似情况下使用的一个技巧是生成三个随机强度值,然后在六种可能的RGB组合中使用这三个值来生成具有恒定强度和均匀对比度的调色板

使用三个强度值33、88和aa的示例

<div style='background-color: #3388aa;'>Color 1</div>
<div style='background-color: #33aa88;'>Color 2</div>
<div style='background-color: #aa8833;'>Color 3</div>
<div style='background-color: #aa3388;'>Color 4</div>
<div style='background-color: #8833aa;'>Color 5</div>
<div style='background-color: #88aa33;'>Color 6</div>
color1
颜色2
颜色3
颜色4
颜色5
颜色6

地球上最简单的事情:


使用HSV颜色模型(),只需更改其中一个参数(色调)即可获得良好的颜色过渡。

我猜您是在问我们如何使用随机方法?我现在可以告诉你,它肯定不会是随机的。关于代码应该如何知道两种颜色是“奇怪”还是“有趣”的问题,你有什么特别的算法吗?例如,我需要两种不同的颜色,套装(第一种适合第二种),我不知道如何解释更多,因为我的英语不是很好。。例如,我需要一种特定的颜色和同一颜色的所有可能的独特程度,才能看起来很好,每个类别的颜色都适合其他颜色。查看此网站了解一个想法:-基本上,它生成一种颜色,两种较亮/较暗的颜色,然后生成一些与之配套的颜色。我不确定它使用了什么计算方法,但这个想法是正确的。我不知道类别的确切数量,它们根据特定的状态而变化,所以我需要更通用的方法。是的,这看起来很好,但如何创建或使用他们使用的方法来实现这一点。你需要一个数据结构来保存颜色和补色,一个大的查找表。从随机挑选一种颜色开始,然后从中选择其他颜色。我必须承认,我不知道如何生成查找表,这对你来说是一个练习:)@just_name-我在我的答案中添加了几个链接,以帮助你开始。该表包括色调(作为度值),允许您查找互补色。