采用 Metal 实现来打造多色渐变

ColorfulX

ColorfulX 是一种使用 Metal 实现的多色渐变工具。

Screenshot

特别感谢

此处的代码大量重复使用了 此源代码,因此已将原始作者的名称添加到许可证文件中。

本存储库的主要重点是扩展对多个平台的支持,提供一系列随时可用的预设。

平台

UIKit 和 AppKit 平台通常受支持。由于 MTKView 在 visionOS 上不可用,因此不受支持。

platforms: [
    .iOS(.v14),
    .macOS(.v14),
    .macCatalyst(.v14),
    .tvOS(.v15),
]

使用方法

将此程序包添加到您的项目中。

dependencies: [
    .package(url: "https://github.com/Lakr233/ColorfulX")
]

SwiftUI

对于具有默认动画的动画颜色,使用以下代码:

ColorfulX(
    colors: ColorSet, // 3 colors are required
    speedFactor: Float = 1,
    bias: Float = 0.001,
    noise: Float = 128,
    power: Float = 8,
    colorInterpolation: MulticolorGradient.ColorInterpolation = .hsb
)

对于创建静态渐变,使用以下代码:

MulticolorGradient(
    points: [ColorStop],
    bias: Float = 0.001,
    power: Float = 2.0,
    noise: Float = 2.0,
    colorInterpolation: ColorInterpolation = .rgb
)

我个人更喜欢使用 hsb 作为颜色插值,因为它对人眼来说更自然。

预设

ColorfulX 包括一系列供您使用的预设。您可以在演示应用程序中找到每个预设。

Screenshot

许可证

本项目获得 MIT 许可证 – 有关详细信息,请参阅 LICENSE 文件


版权所有 © 2023 Lakr Aream。保留所有权利。

GitHub

点击跳转