BerryPlant 1.0.1

BerryPlant 1.0.1

Maintained by Legendry.



  • By
  • czqasn

BerryPlant

CI Status  Version License Platform

Refrence

APNG - https://en.wikipedia.org/wiki/APNG#History PNG - https://en.wikipedia.org/wiki/Portable_Network_Graphics

JianShu Article

https://www.jianshu.com/p/b83ec03ff41c

A swift image kit for iOS to display/decode WebP,APNG,GIF,PNG,JPG and more.

基于Swift的解码与显示WEBP, APNG, PNG, GIF, JPG 等更多格式图片的工具包

Decode image on async thread and render when runloop idle.

子线程解码图片并且在Runloop空闲的时候显示图片

apng

Futures

Decode and display WEBP,APNG,GIF,PNG and so on

解码WEBP, APNG, GIF, PNG等更多格式的图片

Usage

self.imageView = BerryAnimateImage(data, frame: CGRect(x: 0, y: 200, width: self.view.frame.size.width, height: 300), cache: BerryAnimateImage.Policy.noCache)
self.view.addSubview(self.imageView)
self.imageView.contentMode = .scaleAspectFit
self.imageView.animationRepeatCount = 0

Animation control

self.imageView.startAnimating()
self.imageView.stopAnimating()

Get real format

static public func getImageFormat(_ data: Data) -> BerryImageFormat 

Find image decoder

public func FindImageDecoder(with data: Data) -> BerryImageProvider

Example

To run the example project, clone the repo, and run pod install from the Example directory first.

Installation

Berry is available through CocoaPods. To install it, simply add the following line to your Podfile:

Don't use 'use_frameworks!'

pod 'Berry'

Add fix code

post_install do |installer|
    FixBerryUmbrella()
end


def FixBerryUmbrella
berry_unbrella_file_path = (Dir::pwd + '/Pods/Headers/Public/BerryPlant/BerryPlant-umbrella.h')
File.open(berry_unbrella_file_path,"r:utf-8") do |lines|
    buffer = lines.read
    buffer = buffer.gsub("decode.h","WebP/decode.h")
    buffer = buffer.gsub("encode.h","WebP/encode.h")
    buffer = buffer.gsub("types.h","WebP/types.h")
    File.open(berry_unbrella_file_path,"w"){|l|
    l.write(buffer)
}
end
end

Author

czqasn, [email protected]

License

Berry is available under the MIT license. See the LICENSE file for more info.