跳到取色器

SwiftUI 转 HSL 转换器

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

识别为 Swift 代码

HSL 值hsl(10.58, 100%, 60%)
HSL 转 SwiftUI

调整颜色

11°
100%

68%
0.210
34°

其他所有格式

SwiftUI 转 HSL 示例

颜色SwiftUIHSL
Color(red: 1, green: 0, blue: 0)hsl(0, 100%, 50%)
Color(red: 0, green: 1, blue: 0)hsl(120, 100%, 50%)
Color(red: 0, green: 0, blue: 1)hsl(240, 100%, 50%)
Color(red: 1, green: 1, blue: 1)hsl(0, 0%, 100%)
Color(red: 0, green: 0, blue: 0)hsl(0, 0%, 0%)
Color(red: 0.502, green: 0.502, blue: 0.502)hsl(0, 0%, 50.2%)
Color(red: 1, green: 0.341, blue: 0.2)hsl(10.59, 100%, 60%)
Color(red: 0.231, green: 0.51, blue: 0.965)hsl(217.22, 91.22%, 59.8%)
Color(red: 0.063, green: 0.725, blue: 0.506)hsl(160.12, 84.08%, 39.41%)
Color(red: 0.961, green: 0.62, blue: 0.043)hsl(37.69, 92.13%, 50.2%)
Color(red: 0.545, green: 0.361, blue: 0.965)hsl(258.31, 89.53%, 66.27%)
Color(red: 0.925, green: 0.282, blue: 0.6)hsl(330.37, 81.19%, 60.39%)

关于 SwiftUI 和 HSL

SwiftUI 用 0 到 1 的红、绿、蓝三个值描述颜色,写作 Color(red: 1, green: 0.341, blue: 0.2)。透明度通过 opacity 参数添加。

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

转换原理

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

常见问题

如何将 SwiftUI 转换为 HSL?

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

SwiftUI 转 HSL 的结果精确吗?

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

能同时得到其他格式吗?

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

这个转换器免费吗?

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