LiveImage 是一个用于 SwiftUI 的高性能动图显示库,支持 GIF、APNG 和 WebP 格式。适用于 macOS 15+ 和 iOS 18+,基于 Swift 6 开发。该仓库还包含一个用于演示和测试的示例应用 LiveImageDemo。
- 支持 GIF、APNG、WebP 动图格式
- 原生 SwiftUI 组件,易于集成
- 高性能解码与渲染
- 支持 macOS 15+ 和 iOS 18+
- 现代 Swift 6 语法与最佳实践
在 Package.swift 的 dependencies 添加:
.package(url: "https://github.com/wflixu/LiveImage.git", from: "1.0.0")或在 Xcode 中通过 File > Add Packages... 搜索 LiveImage 并添加。
// Package.swift
dependencies: [
.package(url: "https://github.com/wflixu/LiveImage.git", from: "1.0.0")
]import LiveImage
import SwiftUI
struct ContentView: View {
var body: some View {
VStack {
// GIF 动画
if let gifUrl = Bundle.main.url(forResource: "animation", withExtension: "gif") {
LiveImage(url: gifUrl)
.frame(width: 200, height: 200)
}
// APNG 动画
if let apngUrl = Bundle.main.url(forResource: "animation", withExtension: "png") {
LiveImage(url: apngUrl)
.frame(width: 300, height: 300)
}
// WebP 动画
if let webpUrl = Bundle.main.url(forResource: "animation", withExtension: "webp") {
LiveImage(url: webpUrl)
.frame(width: 250, height: 250)
}
}
}
}import LiveImage
import SwiftUI
struct ContentView: View {
@State private var isPlaying = true
var body: some View {
LiveImage(url: gifUrl)
.frame(width: 200, height: 200)
.onTapGesture {
isPlaying.toggle()
}
.environment(\.animatedImageViewConfiguration, AnimatedImageViewConfiguration.performance)
}
}- macOS 15 及以上
- iOS 18 及以上
- Swift 6.0 及以上
本仓库包含 LiveImageDemo 示例项目,方便测试和演示 LiveImage 的功能。你可以直接运行该项目体验库的实际效果。
以下是 LiveImage 在不同格式动画下的实际运行效果:
- 格式: 标准 GIF 格式,128x128 像素,2帧动画
- 效果: 流畅的循环播放,经典的动图效果
- 格式: APNG 动画格式,480x400 像素,34帧动画
- 效果: 高质量的多帧动画,PNG 的无损压缩与透明度支持
- 格式: WebP 动画格式,400x400 像素,12帧动画
- 效果: 现代化的 Web 格式动画,优秀的压缩比与现代浏览器兼容
LiveImageDemo 展示了以下核心功能:
| 特性 | 描述 | 状态 |
|---|---|---|
| 🎬 多格式支持 | 同时支持 GIF、APNG、WebP 三种主流动画格式 | ✅ 完成 |
| ⚡ 高性能渲染 | 基于 CADisplayLink 的 60fps 流畅动画播放 | ✅ 完成 |
| 🎨 SwiftUI 集成 | 原生 SwiftUI 组件,无缝集成到现代应用中 | ✅ 完成 |
| ⚙️ 可配置播放 | 支持自定义播放速度、循环次数等参数 | ✅ 完成 |
| 📱 跨平台兼容 | 支持 macOS 15+ 和 iOS 18+ 平台 | ✅ 完成 |
# 克隆仓库
git clone https://github.com/wflixu/LiveImage.git
# 进入项目
cd LiveImage
# 运行演示
swift run Demo欢迎 issue 和 PR!请遵循 贡献指南(如有)。
- 当前开发环境:macOS 15.5,Swift 6.1.2
- 推荐使用 Xcode 15.4 及以上版本
MIT License. 详见 LICENSE 文件。