Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/wangjwchn/AImage
An animated gif & apng engine for iOS in Swift. Have a great performance on memory and cpu usage.
https://github.com/wangjwchn/AImage
animation apng gif image swift swift4
Last synced: 6 days ago
JSON representation
An animated gif & apng engine for iOS in Swift. Have a great performance on memory and cpu usage.
- Host: GitHub
- URL: https://github.com/wangjwchn/AImage
- Owner: wangjwchn
- Created: 2016-02-23T14:38:31.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2018-05-18T09:04:54.000Z (over 6 years ago)
- Last Synced: 2024-11-22T07:03:18.022Z (20 days ago)
- Topics: animation, apng, gif, image, swift, swift4
- Language: Swift
- Homepage:
- Size: 5.67 MB
- Stars: 993
- Watchers: 22
- Forks: 91
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-ios - AImage - A animated GIF&APNG engine for iOS in Swift with low memory & cpu usage.Optimized for Multi-Image case. (Media / GIF)
- awesome-ios-star - AImage - A animated GIF&APNG engine for iOS in Swift with low memory & cpu usage.Optimized for Multi-Image case. (Media / GIF)
README
![Cover](https://wangjwchn.github.io/image/cover.png)
[![Language](https://img.shields.io/badge/swift-4.0-orange.svg)](http://swift.org)
[![Pod License](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/wangjwchn/AImage/master/LICENSE)## Features
- [x] Small but complete, only`200`lines of code.
- [x] Allow to control display quality, memory usage, loop time and display progress.
- [x] Have a great performance on memory and cpu usage.
- [x] Using asynchronous image decoding to reduce the main thread CPU usage.## Usage
```swift
/* Create AImage with URL */
let image = AImage(url: Bundle.main.url(forResource: "test", withExtension: "gif")!)/* Create AImageView */
let imageview = AImageView(frame:CGRect(x: 0.0, y: 50.0, width: 380.0, height: 212.0))/* Add AImage to AImageView */
imageview.add(image: image!)/* Start displaying animated image */
imageview.play = true...
.../* Stop displaying animated image */
imageview.play = false```
## Benchmark
Compared with [Gifu](https://github.com/kaishin/Gifu/tree/swift4) and [Apple's example code](https://developer.apple.com/library/content/samplecode/UsingPhotosFramework/Introduction/Intro.html).
#### Test1: Display [view.gif](https://wangjwchn.github.io/image/view.gif)
|Library|CPU|Memory|
|:--:|:--:|:--:|
|Apple's Example Code | | |
|Gifu| | |
|AImage| | |#### Test2: Display [earth.gif](https://wangjwchn.github.io/image/earth.gif)
|Library|CPU|Memory|
|:--:|:--:|:--:|
|Apple's Example Code | | |
|Gifu| | |
|AImage| | |Measurement Factors:
- Measurement time: August 24, 2017
- Measurement device: iPhone6, iOS 11.0(15A5362a)
## Principles
- [Here](https://wangjwchn.github.io/blog/Display-animated-image-on-iOS-device)
## Old VersionVersion of swift 2.3 can be found in [here](https://github.com/wangjwchn/AImage/tree/Swift2.3).
## Licence
AImage is released under the MIT license. See [LICENSE](https://github.com/wangjwchn/JWAnimatedImage/raw/master/LICENSE) for details.