Swiftパッケージ · v0.1.0
KLAdaptiveSurface
画像から得た色を、画面に置く前に読みやすい表面色へ整えます。
KLAdaptiveSurfaceは同期的な色のポリシーです。元の色相をできるだけ残し、暗すぎる色や鮮やかすぎる色だけを読みやすい範囲へ整え、結果に合う前景色を返します。
できること
- 明るさと彩度の範囲を設定可能
- 濁りの閾値で、すでにきれいな色を変更しない
- 色相を保つ、中立、寒色、暖色の好み
- 自動、暗色、明色の前景色方針
このパッケージがしないこと
このパッケージは一つの `CGColor` を整えます。画像の読み込み、ピクセルのサンプリング、再計算のタイミング、キャッシュ、SwiftUIやUIKitへの適用は利用側が担当します。
SwiftPMで追加
Package.swiftSwift
.package(url: "https://github.com/KoenLee1023/KLAdaptiveSurface.git", from: "0.1.0")使い方
最小構成Swift
let surface = KLAdaptiveSurface.normalize(
sampledColor,
using: .reading
)
apply(surface.background, foreground: surface.foreground)KLAdaptiveSurface.normalize(_:using:)値型の設定に従って一つの `CGColor` を整えます。
KLAdaptiveSurface.Configuration閾値、整える強さ、色の好み、前景色の方針を定義します。
KLAdaptiveSurface.Result背景色、前景色、コントラストの向き、整形状態を返します。
デモアプリ
Reading Surface Demo
明るさと彩度の範囲を設定可能 · 濁りの閾値で、すでにきれいな色を変更しない
Widget Surface Demo
色相を保つ、中立、寒色、暖色の好み · 自動、暗色、明色の前景色方針