Skip to content

Image Kit for decode/display WEBP, APNG, PNG, GIF, JPG and more write by swift

License

Notifications You must be signed in to change notification settings

toyoung9/BerryPlant

 
 

Repository files navigation

BerryPlant

CI Status  Version License Platform

A swift image kit for iOS to display/decode WebP,APNG,GIF,PNG,JPG and more. Decode image on async thread and render when runloop idle.

apng

Futures

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

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.

About

Image Kit for decode/display WEBP, APNG, PNG, GIF, JPG and more write by swift

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Swift 100.0%