我有代码将RGB值转换为HSL值以及HSL转换为RGB。 它工作正常,但是,我有一个可以在rgb或hsl中工作的颜色选择器。 问题是,他们都使用整数值。因此,如果我将RGB转换为HSL,我得到的分数需要四舍五入。当我转换回RGB时,值与它们不同 - 数字通常为1(在RGB> HSL> RGB后,值123可能会变为124)。如何在来回转换时保持RGB和HSL整数值一致?
我觉得这很奇怪,因为在Photoshop中,它们具有相同的颜色选择器 - 您可以在RGB和HSB之间进行选择,并且当您来回转换时,RGB值保持一致,并且在您同时选择时使用整数值模式。 他们如何实现这一目标?
我建议存储RGB *和* HSL值,加上一个标志来指示哪一个是活动的。否则一致性将不可能保持。 (例如,饱和度值为零,所有色调值都是相同的。) –
是的,我正在这样做 - 但是,当我想切换选取器模式时会出现问题。值变化,因为分数变成了整数。我不想在选取器中指定分数。所以我想知道如何将这些分数隐藏起来,但仍然可以选择和转换为与过去一样的值。 Photoshop以某种方式做到这一点.. – user3591153
如何在用户切换到HSL时继续使用RGB值,并且只有在用户在HSL对话框中移动颜色选择光标时才使用HSL值? –