toColor method

Color toColor([
  1. double alpha = 1.0
])

对应 Kotlin Hsv.toColor,将 HSV 转换为 sRGB Color

先把色相规范化到 [0, 360)、饱和度与明度裁剪到 [0, 1], 再按 Compose Color.hsv 的算法逐分量求值,保留完整浮点精度。

Implementation

Color toColor([double alpha = 1.0]) {
  final hue = ((h % 360.0) + 360.0) % 360.0;
  final sN = (s / 100.0).clamp(0.0, 1.0);
  final vN = (v / 100.0).clamp(0.0, 1.0);
  return Color.from(
    alpha: alpha,
    red: _hsvToRgbComponent(5, hue, sN, vN),
    green: _hsvToRgbComponent(3, hue, sN, vN),
    blue: _hsvToRgbComponent(1, hue, sN, vN),
  );
}