Skip to content

Latest commit

 

History

History
70 lines (45 loc) · 1.72 KB

rgb-to-hsb.md

File metadata and controls

70 lines (45 loc) · 1.72 KB
标题 标签
RGBToHSB(将 RGB 颜色转换成 HSB 颜色) math,intermediate(数学,两者之间)

将一个RGB颜色转换成HSB颜色模式。

代码如下:

const RGBToHSB = (r, g, b) => {
  r /= 255;
  g /= 255;
  b /= 255;
  const v = Math.max(r, g, b);
  const n = v - Math.min(r, g, b);
  const h =
    n && v === r ? (g - b) / n : v === g ? 2 + (b - r) / n : 4 + (r - g) / n;
  // h,s = n / v,b = v
  return [60 * (h < 0 ? h + 6 : h), v && (n / v) * 100, v * 100];
};

ts代码如下:

注:v值的公式如下图:

v值


注:n值的公式如下图:

n值

n值


注:h值的公式如下图:

h值


注:v值的公式如下图:

v值

调用方式:

RGBToHSB(252, 111, 48);
// [18.529411764705856, 80.95238095238095, 98.82352941176471]

应用场景

以下是基于上述代码实现的示例:

结果如下:

<iframe src="codes/javascript/html/rgb-to-hsb.html"></iframe>