Color 将颜色对象简化为可在跨平台使用的标准语法,并为 HTML 颜色和十六进制颜色添加了基本的 Codable 协议支持以及字符串表示和转换功能。
主要目标是易于多人维护,采用可在所有平台上使用的统一 API,并且可以使用 iPad 和 macOS 上的 Swift Playgrounds 进行维护。 API 通常即使在不支持所有功能的平台上也存在,因此无需在外部代码中执行可用性检查,并且在不相关的地方,代码可以简单地返回可选值。
我们积极维护此项目,如果您有功能请求或更改建议,我们将努力在一周内解决。
.magenta、.lightGray 和 .darkGray,并确保所有平台上都提供 .pink。[Color].rainbow 一样迭代的预设颜色列表。.brown, .cyan, .indigo, .mint 和 .teal 需要 15,Swift Playgrounds 支持至少需要 15.2+).brown, .cyan, .indigo, .mint 和 .teal 需要 macOS 12).brown, .cyan, .indigo, .mint 和 .teal 需要 15)有关已知问题和路线图,请参见 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 中完成!
您可以通过添加包 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
以下是一些用法示例。
let version = Color.version
let color: Color = "#ff0000" // should create a red color
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 找到。 非常感谢所有做出贡献的人! 🙏