跳到取色器

Flutter / Compose 转 HSL 转换器

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

识别为 Flutter 代码

HSL 值hsl(10.59, 100%, 60%)

调整颜色

11°
100%

68%
0.210
34°

其他所有格式

Flutter / Compose 转 HSL 示例

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

关于 Flutter / Compose 和 HSL

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

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

转换原理

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

常见问题

如何将 Flutter / Compose 转换为 HSL?

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

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

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

能同时得到其他格式吗?

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

这个转换器免费吗?

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