Swiftパッケージ · v0.1.2

KLAdaptivePalette

ホストコンテナで実際に表示される画像領域からパレットを生成します。

KLAdaptivePaletteは `CGImage`、コンテナサイズ、表示モード、クロップアンカーを使って、実際に表示される画像領域を解析します。ソースカラー、候補色、前景色、決定的なキャッシュキーを返します。

対応OS
iOS 17+ · macOS 14+
開発環境
Swift 6.0+
ライセンス
MIT
外部依存
なし

できること

  • `.aspectFill` と `.aspectFit` の表示領域を解析
  • 重み付きの知覚的な色候補を返す
  • 実際の背景の輝度から前景色を選ぶ
  • キャッシュは `KLPaletteAnalyzer` のインスタンス単位

このパッケージがしないこと

このパッケージは `CGImage` のピクセルを解析します。画像の読み込み、タスク管理、永続化、ホストビューの構成は利用側のアプリが担当します。

SwiftPMで追加

Package.swiftSwift
.package(url: "https://github.com/KoenLee1023/KLAdaptivePalette.git", from: "0.1.2")

使い方

最小構成Swift
let request = KLPaletteRequest(
    image: image,
    cacheID: mediaID,
    containerSize: size
)
let palette = KLPaletteAnalyzer().analyze(request)
KLPaletteAnalyzer

`KLPaletteRequest` を解析し、同じピクセルと表示ジオメトリに対して決定的なキャッシュキーを返します。

KLPaletteRequest

`CGImage`、キャッシュID、コンテナサイズ、表示モード、正規化されたクロップアンカーを保持します。

KLAdaptivePalette

表示領域のソースカラー、候補色、ティント、背景色、前景色を返します。

デモアプリ

PaletteInspector

`.aspectFill` と `.aspectFit` の表示領域を解析 · 重み付きの知覚的な色候補を返す

AdaptiveSurface

実際の背景の輝度から前景色を選ぶ · キャッシュは `KLPaletteAnalyzer` のインスタンス単位