SDWebImageBPGCoder 0.7.1

SDWebImageBPGCoder 0.7.1

DreamPiggyBogdan Poplauschi 维护。



  • DreamPiggy

SDWebImageBPGCoder

CI Status Version License Platform Carthage compatible

用途

这是一个 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 包含子模块 libbpgbpgenc。它们集成了 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

感谢

libbpg

许可协议

SDWebImageBPGCoder 采用 MIT 许可协议。有关更多信息,请参阅 LICENSE 文件。

然而,当使用 bpgenc 时,许可协议将受 GNU 许可协议(或如果您有,则受商业许可协议)约束。因为我们使用了 x265,并使用了修改过的 bpgenc 版本(该版本是 GPL)。有关更多信息,请访问 x265.orglibbpg