跳到取色器

HSL 转 Flutter / Compose 转换器

粘贴 HSL 值,立即得到 Flutter / Compose。其他格式也同样支持。

识别为 HSL

Flutter / Compose 值Color(0xFFFF5733)
Flutter / Compose 转 HSL

调整颜色

11°
100%

68%
0.210
34°

其他所有格式

HSL 转 Flutter / Compose 示例

颜色HSLFlutter / Compose
hsl(0, 100%, 50%)Color(0xFFFF0000)
hsl(120, 100%, 50%)Color(0xFF00FF00)
hsl(240, 100%, 50%)Color(0xFF0000FF)
hsl(0, 0%, 100%)Color(0xFFFFFFFF)
hsl(0, 0%, 0%)Color(0xFF000000)
hsl(0, 0%, 50.2%)Color(0xFF808080)
hsl(10.59, 100%, 60%)Color(0xFFFF5733)
hsl(217.22, 91.22%, 59.8%)Color(0xFF3B82F6)
hsl(160.12, 84.08%, 39.41%)Color(0xFF10B981)
hsl(37.69, 92.13%, 50.2%)Color(0xFFF59E0B)
hsl(258.31, 89.53%, 66.27%)Color(0xFF8B5CF6)
hsl(330.37, 81.19%, 60.39%)Color(0xFFEC4899)

关于 HSL 和 Flutter / Compose

HSL 用角度表示色相,用百分比表示饱和度和亮度。它很直观,但亮度并不符合人眼感知:50% 的黄色看起来比 50% 的蓝色亮得多。

Flutter 和 Jetpack Compose 把颜色写成一个 32 位 ARGB 数值,例如 Color(0xFFFF5733)。0x 后面的两位十六进制数是 Alpha,FF 表示完全不透明。

转换原理

我们读取 HSL 值,用 CSS Color 4 规范中的矩阵将其转换为 CIE XYZ,再转换为 Flutter / Compose。超出目标色域的值会按 CSS Color 4 算法映射:保持亮度和色相,降低彩度。

常见问题

如何将 HSL 转换为 Flutter / Compose?

在上方输入框中粘贴或输入 HSL 值。PickShade 会在你输入时用 CSS Color 4 公式实时转换,点击一下即可复制 Flutter / Compose 值。

HSL 转 Flutter / Compose 的结果精确吗?

计算是精确的,结果只在显示时取整,保留的位数足以转换回同一个颜色。如果颜色超出目标色域,PickShade 会提示你,并显示色域内最接近的颜色。

能同时得到其他格式吗?

可以。其他所有格式,包括 OKLCH、Display P3、Tailwind、SwiftUI、Flutter 和 Android,都列在结果下方,点击即可复制。

这个转换器免费吗?

免费。无需注册,完全在你的浏览器中运行。