Swift软件包 · v0.1.0

KLSubjectVision

从CGImage生成正方形主体或场景缩略图。

KLSubjectVision用于生成正方形缩略图。`.subject` 通过Apple Vision提取前景,并将完整主体按比例放入透明画布。提取失败时改用原图。`.room` 不提取主体,直接裁切场景图片。

支持平台
iOS 17+ · macOS 14+
开发工具
Swift 6.0+
许可证
MIT
第三方依赖

功能

  • Vision前景实例蒙版
  • 可设置inset的主体等比缩放
  • `.room` 与 `.fallback` 使用居中填充
  • 测试时可以替换 `ForegroundExtractor`

不包含的功能

软件包只处理 `CGImage`。图片加载、方向校正、任务调度、取消、编码、存储和缓存由接入应用负责。

通过SwiftPM安装

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

使用方法

接入示例Swift
let output = SubjectThumbnailProcessor().process(
    source,
    request: .subject(pixelSize: 512, inset: 28)
)

guard let output else { return }
display(output.image, path: output.kind)
SubjectThumbnailProcessor

同步处理且不包含共享可变状态。测试时可以替换 `ForegroundExtractor`。

SubjectThumbnailRequest

`.subject(pixelSize:inset:)` 或 `.room(pixelSize:)`。

SubjectThumbnailOutput

返回请求尺寸的正方形 `CGImage` 与处理路径。

示例App

Subject Studio

Vision前景实例蒙版 · 可设置inset的主体等比缩放

Thumbnail Matrix

`.room` 与 `.fallback` 使用居中填充 · 测试时可以替换 `ForegroundExtractor`