问题标签 [color-theory]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
576 浏览

colors - 饱和度和亮度有什么区别?

在色彩理论中,饱和度和亮度之间有什么区别?

0 投票
9 回答
36208 浏览

colors - 颜色理论:如何将 Munsell HVC 转换为 RGB/HSB/HSL

我正在查看描述牙科中用于描述牙齿颜色的标准颜色的文件。他们引用了huevaluechroma值,并指出它们来自 1905 Munsell 对颜色的描述:

AH Munsell 在 1905 年开发的颜色符号系统根据三个属性识别颜色:HUE、VALUE(亮度)和 CHROMA(饱和度)[ 15 ]

HUE (H):Munsell 将色调定义为我们区分一种颜色与另一种颜色的质量。他选择了五种原色:红、黄、绿、蓝、紫;五种中间色:黄-红、绿-黄、蓝-绿、紫-蓝、红-紫。这些被放置在相同点的色环周围,这些点之间的颜色是两者的混合,有利于较近的点/颜色(见图 1)。

替代文字

值 (V):此符号表示颜色相对于中性灰度的明暗程度,从绝对黑色(值符号 0)延伸到绝对白色(值符号 10)。这基本上就是颜色的“明亮”程度。

CHROMA (C):这表示给定色调与相同值的中性灰色的发散程度。色度等级从中性灰色的 0 扩展到 10、12、14 或更远,具体取决于待评估样品的强度(饱和度)。

有多种颜色分类系统,Vita 系统最常用于牙科。这使用字母 A、B、C 和 D 来表示牙齿的色调(颜色)。色度和值均由 1 到 4 的值表示。A1 比 A4 亮,但 A4 比 A1 更饱和。如果按照值的顺序,即亮度,从最亮到最暗的顺序是:

A1,B1,B2,A2,A3,D2,C1,B3,D3,D4,A3.5,B4,C2,A4,C3,C4

每种色调的 Hue、Value 和 Chroma 的确切值如下所示 ( 16 )

替代文字

所以我的问题是,任何人都可以将 Munsell HVC 转换为 RGB、HSB 或 HSL 吗?

他们说 Value(Brightness) 从 变化0..10,这很好。所以我取 7.05 表示 70.5%。

Hue衡量的是什么?我习惯于以(0..360)测量色调。degrees但是我看到的值都是红色的——当它们应该更黄或棕色的时候。

最后,它说 Choma/Saturation 的范围可以从0..10……甚至更高——这听起来像是一个任意的比例。

那么任何人都可以将 Munsell HVC 转换为 HSB 或 HSL,或者更好的是 RGB 吗?

0 投票
2 回答
8040 浏览

c# - 编写一个简单的配色方案生成器

我们正在用 C# 开发一个网站 cms,并希望集成/开发一个小而简单的配色方案生成器,如colorschemedesigner.com(当然更简单),以自动建议协调模板颜色(用于正文背景、文本、标题等)。

该网站上有 6 种颜色创建方法。我们想重新编程“重音类比”算法的逻辑。

有谁知道如何轻松实现这一点,或者我们可以在哪里找到有关此主题的更多信息。如何以编程方式为给定的基础找到一组协调的颜色?

还是已经有一些第三方控件可以完成这项工作?例如高级高级颜色选择器或其他东西。

丹尼尔

0 投票
1 回答
45 浏览

colors - 为项目表着色

我需要向用户展示一个 W x H 的短字符串表。

(更新:表格内容不可变,我不能移动字符串,改变它们等)

为简单起见,让我们这样说:

  • 我正在使用 HTML 可视化表格;
  • 字符串是一个单词,通过加权(按词频)从英语词典中随机选取;
  • W和H在5到10的范围内;
  • 在平均情况下,可能同时有 10-15 个不同的单词;
  • 在最坏的情况下,表中的所有单词都是不同的(最多 100 个不同的字符串)。

为了帮助可视化,我需要为表格单元格的背景着色。具有相同单词的单元格应具有相同的颜色。

问题是在这种情况下为字符串分配颜色的好算法是什么?

附加要求和说明:

  • 我不想使用 100 种颜色的硬编码表,这不好玩。
  • 颜色应尽可能在视觉上可区分(但很难达到 100 种颜色)。
  • 或者——相邻的单元格颜色必须尽可能在视觉上区分(当然,只要它们包含不同的单词)。但这会使算法复杂化。
  • 如果可能的话,我希望每个单元格中的文本都是相同的颜色(比如黑色)。同样,这很难用 100 种颜色来完成。但至少,文本应该尽可能具有任何背景颜色的可读性。
  • 理想情况下,为了简单起见,我想一次性完成所有操作,并在旅途中分配颜色——但这会损害可区分性。所以,我猜是两次传球。
  • 一般来说,性能并不重要,可读性和算法简单性才是重要的。
0 投票
1 回答
365 浏览

colors - 与给定的一组颜色对比最强烈的颜色?

我有几个不同的“随机”颜色值的列表(不少于 1 和不超过 8 种颜色)。(随机意味着没有告诉他们相互的“对比”。)

颜色以 RGB 值给出(可能的简化:作为 HSL 模型中的 H 值,或在其他选择的颜色系统中 - 我对如何生成原始颜色有一定程度的控制)。

我需要从列表中的所有颜色中计算出最“对比度”(即视觉上可区分)的单一颜色值。

对于 8 种颜色的情况,对比度的实用标准:

如果我们画 9 个正方形,填充我们的颜色如下:

正方形 X 的颜色必须与所有相邻颜色清晰区分。

可能的简化:将颜色的最大数量从 8 减少到 4(示例中的正方形 2、4、5、7,忽略对角线)。

0 投票
1 回答
3348 浏览

windows-7 - MSPaint 使用什么色彩空间?(窗口 7)

MSPaint 使用什么色彩空间?(我相信最后几个版本的所有 MSPaints 都是相同的,但这只是为了确保我是 Windows 7)。

看起来它是 HSL,但是 Lum 从 0 到 240,但根据我的阅读,HSL Lum 应该是 0-100。

0 投票
1 回答
1358 浏览

algorithm - 如何以编程方式在 2D 中排列一组 256 种 RGB 颜色,以便所有相邻颜色都有平滑过渡

我有一组 256 种颜色(xterm-256color 终端中的所有可用颜色),我正在使用一个名为 256colors2.pl 的脚本,我在几乎每篇关于 256 色终端的 Internet 文章中都看到了该脚本。这是脚本的输出是一个 6x6x6 的彩色立方体,由 6 个 6x6 的立方体切片组成,外加一条从黑色到白色的灰色线。

我正在寻找的是一些 2D 形状,以及在 2D 中布置这些颜色的相应算法,以便所有过渡都是平滑的。这应该适用于一组减少的颜色(在这种情况下为 256 种,其中包括一组有限的灰色)。

0 投票
1 回答
568 浏览

colors - 基于两种颜色之间的相对差异重新计算渐变颜色的公式

当给定任意颜色值时,我将如何使用该值和渐变偏移量 0(如下)之间的相对差异来调整剩余偏移量的颜色,以便它们与新颜色具有与原始颜色相同的相对关系?

我的挑战是找出用于进行相对调整的数学公式。一旦我有了这个逻辑,在我使用的特定技术(C#/.Net/WPF)中实现它应该相对容易。

谢谢!

0 投票
1 回答
293 浏览

ios - iOS:颜色术语和理论

我写了以下内容并在我的模拟器上运行它只是为了好玩,同时喝一杯晚上的咖啡;它只是从浅灰色变为深灰色,然后永远变回来。

青少年的事情,我知道,但正如我所说,我这样做只是为了好玩,因为在休息和喝咖啡的时候有一些东西可以盯着看。

如果不是我的小表弟走过来看着我的模拟器说:“光!”,“没有光!”,我什至不会想到深入挖掘。

我说:“不,更亮,然后更暗”。

然后问题击中了我:

我们如何正确描述颜色变化?

使用上面的示例,我们如何:

1.) 描述从一种颜色到另一种颜色的变化(比如说从“较浅”到“较深”的颜色)和一般颜色的色调、亮度、亮度、暗度、RGB、强度。

我在这里可能是错的,但也许当我们说“这更暗”并且在计算机术语中,也许它应该被不同地描述为(例如:)“这种颜色的强度比另一种更强,它的 R 更大,它的G 是(某某),B 值是(某某)......”等等。

我希望你知道我的意思。

再次使用上面的示例代码,我们如何正确地描述两者之间的lightGrayColor区别darkGrayColor

1.)亮度(就计算机图像而言,亮度实际上是多少?这是否意味着它在“较暗”像素之间偶尔有更多“白色”像素,因此看起来“更亮”?)

2.)光度(如果它是一个灯泡,我会理解,但就计算机图像而言,由于它本身不是光源,那么根据计算机图像定义光度的定义是什么?用颜色定义光度在图像中?)

3.)色调(有些人称之为纯色,有些人称之为阴影/色调)

4.)强度(好吧,对人眼来说,大多数人会说“如果它更暗,它就会更强烈。”但它真的是用计算机图像/色彩理论来描述的正确方式吗?)

5.) RGB

如果您能用文字解释和 iOS 中的一些代码向我描述以上内容,以根据上述术语(色调、亮度、强度)描述上述颜色(浅灰色和深灰色)之间的差异,我将不胜感激、亮度、rgb 等),这样我就可以快速掌握这些术语在颜色方面的一般含义。首先十分感谢。

0 投票
4 回答
11099 浏览

colors - 将 RGBW 颜色转换为标准 RGB/HSB 表示

我正在为家庭自动化系统中的灯光管理构建一个界面。我设法为各种供应商控制标准开/关和可调光,没有什么问题,但现在我遇到了一个与 RGB 灯有关的问题。

我目前使用的灯是 RGBW LED 灯条 - 具体来说,我正在使用低成本的 RGBW 灯:灯由四个 LED 组成,每个 LED 都可以单独控制。

更清楚一点 - 我正在编写一些 c# 代码,它应该检索当前选择的颜色并将其显示在 UI 中,并使用户能够为灯光指定新颜色。为了设置颜色和检索它,我必须使用一个命令提供程序,它使我能够通过 Web 服务发送和接收命令。

提供程序使用 RGBW 颜色 - 使用红色、绿色、蓝色和白色的四个组件。为了在我的界面上表示当前的灯光颜色,我想将服务返回的 RGBW 颜色转换为更标准的 RGB/HSB 方案。

在网上搜索,我找到的唯一颜色转换参考(不包括 rgb 到 rgbw 转换的 c++ 示例,根据我的理解,它肯定有一些严重的错误)是这篇文章,它显示了从 HSI 到 RGBW 的转换,即我需要的相反:链接在这里

我正在寻找一些关于如何实现这种转换的见解(或简单解释为什么它不可能)。据我所知,从 RGB 到 RGBW 的转换是任意的 - 单个 RGB 值可以表示为多个 RGBW 值,但相反的转换应该是单义的。另请注意,当我使用 c# 时,也可以随意参考其他语言的算法 - 语言不是问题,问题是我不知道进行颜色转换的数学。