gpt4 book ai didi

graphics - 如何将 HSL(色调、饱和度、亮度)转换为 HSLum(色调、饱和度、亮度)和 HSLum/RGB?

转载 作者:行者123 更新时间:2023-12-01 12:41:51 28 4
gpt4 key购买 nike

我想将一些颜色值从众所周知的 HSL 转换为鲜为人知的 HSLum 怎么做?

hsl(0, 1.0, 0.5) - rgb red  is hslum(0, 1.0., 0.54)
hsl(120, 1.0, 0.5 - rgb green is hslum(0, 1.0, 0.80)
hsl(240, 1.0, 0.5) - rgb blue is hslum(0, 1.0, 0.44)

据我所知,亮度(不是亮度)是这样计算的:
Y = 0.2126 * R + 0.7152 * G + 0.0722 * B

我看了一些文章: Luminance (relative) , 21296247 , HSL and HSV , luma , Lightness , Munsell但没有找到解决方案?

据我所知 CIELab 1976 公式接近 Munsell :
1.16*(Y/Ymax)^1.16*(Y/Ymax)^(1.0/3.0)-0.16 where Y/Ymax > 0.01

或更好的插值/
1.16*(Y/Ymax)^(1.0/3.0)-0.16 where Y/Ymax > (6/29)^3
1.16*(841.0/108.0)*(Y/Ymax)+(4.0/29.0)-0.16 where Y/Ymax <= (6/29)^3

如何进行此类转换?
  • HSL -> HSLum
  • HSLum -> HSL
  • HSLum -> RGB

  • 欢迎任何提示 - 算法建议。

    这是一些工具在做 HSLum .

    最佳答案

    如果您打算生成并使用 感知统一的颜色 您可以使用 HSLuv ,由 Alexei Boronine 创建的库可用于多种编程语言。

    它基于 CIELUV colorspace并实现各种颜色转换例程,如 rgbToHsluv , hsluvToRgb , hexToHsluv , hsluvToHex 等等。

    该库不支持从 HSL 到 HSLuv 的直接转换,但您可以按照 here 所述将 HSL 转换为 RGB。然后使用 rgbToHsluv。

    关于graphics - 如何将 HSL(色调、饱和度、亮度)转换为 HSLum(色调、饱和度、亮度)和 HSLum/RGB?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23699781/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com