Color.swiftpm

Color 将颜色对象简化为可在跨平台使用的标准语法,并为 HTML 颜色和十六进制颜色添加了基本的 Codable 协议支持以及字符串表示和转换功能。

主要目标是易于多人维护,采用可在所有平台上使用的统一 API,并且可以使用 iPad 和 macOS 上的 Swift Playgrounds 进行维护。 API 通常即使在不支持所有功能的平台上也存在,因此无需在外部代码中执行可用性检查,并且在不相关的地方,代码可以简单地返回可选值。

我们积极维护此项目,如果您有功能请求或更改建议,我们将努力在一周内解决。

特性

要求

已知问题

有关已知问题和路线图,请参见 CHANGELOG.md 由于 SwiftUI Color 存储值的方式,alpha 值为“0.2”存储为“0.20000000298023224”,这是错误的,因此在导出为 css 字符串时,这将舍入到小数点后 7 位。 这意味着 alpha 值不能超过 7 位精度,但通常 alpha 值会是不错的数字,因此这通常是预期结果的正确行为。 注意:1.2.0 之前的版本可以直接在列表中迭代。删除了 Identifiable 符合性以更兼容并消除 Xcode 16 警告,因此为了在 SwiftUI List 或 ForEach 中迭代,请将 id: \.pretty 添加到迭代器。

安装

通过将此作为包依赖项添加到您的代码来安装。 这可以在 Xcode 或 Swift Playgrounds 中完成!

Swift Package Manager

Swift 5+

您可以通过添加包 https://github.com/kudit/Color 在 Swift Playground 中尝试这些示例。

如果存储库是私有的,请使用以下链接导入:https://<您的 PAT 字符串>@github.com/kudit/Color.git

或者您可以手动在 Package.swift 文件中输入以下内容

dependencies: [
    .package(url: "https://github.com/kudit/Color.git", from: "1.0.0"),
]

用法

首先确保导入框架

import Color

以下是一些用法示例。

获取导入的 Color 的版本。

let version = Color.version

从十六进制字符串创建颜色。

let color: Color = "#ff0000" // should create a red color

从命名的 CSS 字符串创建颜色。

let color: Color = "red" // should create a red color

获取彩虹主要颜色列表。

let colors: [Color] = .rainbow

所有这些测试都可以通过预览或运行模块的 Development 文件夹中捆绑的应用程序可执行文件来演示。

贡献

如果您需要实现某个特定功能或遇到错误,请提出 issue。 如果您自己扩展了功能并希望其他人也使用它,请提交 pull request。

捐赠

这是一个很大的工作量。如果您觉得这很有用,尤其是在商业产品中使用它,请考虑向 http://paypal.me/kudit 捐款

许可证

您可以随意在项目中使用此代码,但是,请包含指向此项目的链接,并在应用程序中的某个位置署名。 示例 Markdown 和版本字符串插值

Text("Open Source projects used include [Color](https://github.com/kudit/Color) v\(Color.version)

贡献者

此项目的完整贡献者列表可在此处 here 找到。 非常感谢所有做出贡献的人! 🙏