SDWebImageBPGCoder
用途
这是一个 SDWebImage 编码器插件,用于添加 BPG 图像格式 支持。它基于开源的 libbpg 编码器。
此 BPG 编码器插件支持静态 BPG 和动态 BPG 图片解码。它还包含一个基于 bpgenc
的可选编码器,以支持静态 BPG 和动态 BPG 编码。
需求
- iOS 9.0
- macOS 10.11
- tvOS 9.0
- watchOS 2.0
安装
CocoaPods
SDWebImageBPGCoder 通过 CocoaPods 提供使用。要安装它,只需将以下行添加到您的 Podfile 中
pod 'SDWebImageBPGCoder'
SDWebImageBPGCoder 包含子模块 libbpg
和 bpgenc
。它们集成了 libbpg 的编解码插件和自定义 bpgenc 以支持 BPG 图像解码/编码。
要启用 BPG 解码,应添加 libbpg
子模块
pod 'SDWebImageBPGCoder/libbpg'
要启用 BPG 编码,应添加 bpgenc
子模块
pod 'SDWebImageBPGCoder/bpgenc'
默认情况下将包含 libbpg
子模块适用于大多数人的使用。只有在需要 BPG 编码时才使用 bpgenc
编码子模块。
Carthage
SDWebImageBPGCoder 也通过 Carthage 提供。它使用 libbpg 作为动态框架。
Carthage 不支持类似于 CocoaPods 的子模块,因为大多数用户使用 BPG 解码而不需要 x265 库。通过 Carthage 提供的框架只支持 libbpg 进行 BPG 解码。
github "SDWebImage/SDWebImageBPGCoder"
使用方法
要使用 BPG 编码器,您应该首先将 SDWebImageBPGCoder
添加到编码器管理器。然后您可以通过调用 View 类的方法来开始加载数据。
- Objective-C
SDImageBPGCoder *BPGCoder = [SDImageBPGCoder sharedCoder];
[[SDImageCodersManager sharedManager] addCoder:BPGCoder];
UIImageView *imageView;
[imageView sd_setImageWithURL:url];
- Swift
let BPGCoder = SDImageBPGCoder.shared
SDImageCodersManager.shared.addCoder(BPGCoder)
let imageView: UIImageView
imageView.sd_setImage(with: url)
SDWebImageBPGCoder
还支持 BPG 编码(需要 bpgenc 子模块)。您可以编码 UIImage
到 BPG 压缩的数据。
- Objective-C
UIImage *image;
NSData *imageData = [image sd_imageDataAsFormat:SDImageFormatBPG];
- Swift
let image;
let imageData = image.sd_imageData(as: .BPG)
截图
图片来自 BPG 官方网站
作者
DreamPiggy
感谢
许可协议
SDWebImageBPGCoder 采用 MIT 许可协议。有关更多信息,请参阅 LICENSE 文件。
然而,当使用 bpgenc
时,许可协议将受 GNU 许可协议(或如果您有,则受商业许可协议)约束。因为我们使用了 x265,并使用了修改过的 bpgenc
版本(该版本是 GPL)。有关更多信息,请访问 x265.org 和 libbpg。