Flutter:将色温转换为RGB

Flutter: Convert color temperature to RGB

我正在寻找一种在 Flutter 中将 色温转换为其近似 RGB 颜色 的方法。 如果您查看 this 网站,1800 的色温等于某种橙色:

在 Flutter 中有没有方便的方法来做到这一点?我发现的网站似乎对颜色进行了硬编码。也请提供公式给我。

This blog 有多种语言的公式。下面是我到 Dart/Flutter.

的端口
Color colorTempToRGB(double colorTemp) {
  final temp = colorTemp / 100;

  final red = temp <= 66
      ? 255
      : (pow(temp - 60, -0.1332047592) * 329.698727446).round().clamp(0, 255);

  final green = temp <= 66
      ? (99.4708025861 * log(temp) - 161.1195681661).round().clamp(0, 255)
      : (pow(temp - 60, -0.0755148492) * 288.1221695283).round().clamp(0, 255);

  final blue = temp >= 66
      ? 255
      : temp <= 19
          ? 0
          : (138.5177312231 * log(temp - 10) - 305.0447927307)
              .round()
              .clamp(0, 255);

  return Color.fromARGB(255, red, green, blue);
}