如何创建颜色较浅的渐变?

问题描述 投票:0回答:1

我正在尝试创建具有两种颜色的渐变:第一种颜色是变量,另一种是第一种颜色,但亮 X%。

我尝试执行以下操作,但显然这不是可接受的颜色:

linearGradient(colors: [someColor, someColor.lighten(amount: 0.1)], startPoint: .top, endPoint: .bottom)

我的替代计划是将

someColor
分解为 RGB 分量,然后计算颜色的较浅版本,但我不知道如何获取颜色的 RGB 分量。

swiftui
1个回答
3
投票

可以用不透明度来达到效果吗?

LinearGradient(
    colors: [someColor, someColor.opacity(0.5)],
    startPoint: .top,
    endPoint: .bottom
)

当然,这取决于背景,为了使其更亮,您最好希望白色作为背景。再说一次,如果背景是默认的系统背景,那么这种方法会自动为您提供深色模式的深色,这将是一个优势。

如果它应该总是更亮,只需将白色背景应用于线性渐变即可。如果需要,可以将组合结果剪裁为特定形状:

LinearGradient(
    colors: [someColor, someColor.opacity(0.5)],
    startPoint: .top,
    endPoint: .bottom
)
.background(.white)
.clipShape(Circle())
© www.soinside.com 2019 - 2024. All rights reserved.