RGB 立方坐标和 HSL 柱坐标系统都支持相同的颜色吗?一个系统是否支持比另一个系统更多或更少的颜色,或者一个系统是否支持另一个系统无法实现的颜色?
RGB 立方坐标和 HSL 柱坐标系统都支持相同的颜色吗?
如果您的数字系统没有限制,两者都可以呈现相同的颜色。如果碰巧数字分辨率是有限的,例如。仅对于整数,两个系统在 RGB 颜色空间中呈现的点集略有不同。
您的计算机系统也可能会为每种可能的 RGB 组合产生不同的颜色,并且它是通过发送 RGB 组合来控制的。如果您只有整数值 0...255 用于 R、G 和 B,但您可以输入 HSL 数字,步长为 0.1 度(色调为 0.1 度),0...100% 为 S 和 L 步长为 0.1%那么某些 HSL 组合可能无法在您的系统中显示。HSL 有更多可能的颜色组合作为数字,但并不是所有的颜色组合都可以显示为不同的颜色。许多 HSL 组合被四舍五入为相同的 RGB 组合。
查找转换公式并使用数学计算或使用颜色系统转换计算器进行测试,说 RGB 数字必须改变多少才能使 HSL 系统的变化最小。
一个例子:
那是纯最大亮绿色 RGB(0,255,0) 您必须在色调增长 1 度之前插入 3 个蓝色单位,即 RGB(0,255,3) - 从 120 度到 121 度。如果您只能使用整数作为色调角度,则不能输入 RGB(0,255,1) 或 RGB(0,255,2) 作为 HSL 数字。
使用的计算器是https://www.rapidtables.com/convert/color/rgb-to-hsl.html
它也有转换公式。
我认为在当前和常用的软件中,HSL和HSB文件只是模型的表示,而不是可以存储在普通文件中的颜色模型。
我不是专家,所以我可能是错的。
让我解释。为了使文件真正成为 HSL 文件,它应该能够真正存储坐标。Hue 通道需要(至少)360 个级别,因为它指示一个圆的 360 度中的每一个。但通常一个 24 位文件存储每个通道的 256 个级别。
另一方面,它只需要 100 级的亮度和饱和度。
我不知道存储这些频道的格式。比如一个JPG文件使用压缩存储Y′CBCR颜色模型,所以查看时也需要解压。
但现在让我们看看有数字的理论。
360x100x100 = 3,600,000 种颜色。将其与每通道 8 位 RGB 文件的256x256x256= 16,777,216 种颜色进行比较。
所以,在这种情况下,不。RGB 颜色模型可以存储比 360x100x100 HSL 颜色模型更多的颜色。
但没有任何迹象表明每个通道可以有更多级别,例如,您可以拥有 360x256x256 HSL 文件格式,甚至可以存储度、分和秒以及 S 和 L 的数千个值的浮点文件。16 位每个通道仍然是一个 RGB 文件,每个通道可以存储超过 8 位的颜色。
因此,如果您为每个通道分配足够多的位,您就可以拥有相同数量的颜色。
根据评论 2 编辑:
是的,您可以在色调通道上使用弧度、小数或百分比,但我看到的每个实现和定义都说它使用 360 度。
例如,这里是 w3c 关于 CSS 颜色模型的定义:
色调表示为色环的角度(即以圆圈表示的彩虹)。这个角度通常以度为单位测量,单位在 CSS 中是隐含的;从句法上讲,只给出了 a。根据定义,红色=0=360,其他颜色围绕圆形展开,因此绿色=120,蓝色=240 等。作为一个角度,它隐含环绕,使得-120=240 和480=120。
这是模型的维基百科定义
https://en.wikipedia.org/wiki/HSL_and_HSV#Basic_principle
这是图形程序中模型的实现
所有这些都基于 360° 车轮。
基于评论 1。
是的,我的基本操作中的颜色总数意味着一个圆柱体,但实体的形状实际上是一个双圆锥体。这意味着在尖端(白色或黑色)中,您的颜色较少。例如,将 L=0 的值乘以任何色调,颜色将是相同的黑色。
这是来自维基百科的图片
这些限制来自我们按照惯例使用的单位。站在顶点上的 RGB 立方体可以很容易地转换成这种形状,并重新映射颜色。
以下是我用于各种目的的两张图像: 来自 RGB 立方体的切片重新映射为 HSB 圆柱体的切片。由于我自己对实现的自动施加限制,所有颜色都在那里。
但我不需要更多。现在的问题可能是我们是否真的需要一种可以存储 HSL 或 HSB 通道的文件格式。
我认为 Gimp 可以存储 LCH 值。