Android NDK GIF Library
GIF library built with ndk and gradle in aar format for usage with android gradle build system.
0.3.3 Change Log
- Added Gif Image Iterator for Image decoding.
- Fixed a problem of residual image on transparent background.
Encoding Option
- ENCODING_TYPE_SIMPLE_FAST
- ENCODING_TYPE_FAST (Thanks to commitor "JBurkeKF")
- ENCODING_TYPE_NORMAL_LOW_MEMORY
- ENCODING_TYPE_STABLE_HIGH_MEMORY
How to use
Remote repository
... repositories {
maven {
url "http://dl.bintray.com/waynejo/maven"
}
...
}
dependencies {
compile('com.waynejo:androidndkgif:0.3.3')
}
Decoding using Iterator. (Less memory used)
GifDecoder gifDecoder = new GifDecoder();
final GifImageIterator iterator = gifDecoder.loadUsingIterator(destFile);
while (iterator.hasNext()) {
GifImage next = iterator.next();
if (null != next) {
imageView.setImageBitmap(next.bitmap);
}
}
iterator.close();
Decoding
GifDecoder gifDecoder = new GifDecoder();
boolean isSucceeded = gifDecoder.load(destFile);
if (isSucceeded) {
for (int i = 0; i < gifDecoder.frameNum();
++i) {
Bitmap bitmap = gifDecoder.frame(i);
}
}
Encoding
GifEncoder gifEncoder = new GifEncoder();
gifEncoder.init(width, height, filePath, GifEncoder.EncodingType.ENCODING_TYPE_NORMAL_LOW_MEMORY);
// Bitmap is MUST ARGB_8888. gifEncoder.encodeFrame(bitmap1, delayMs);
gifEncoder.encodeFrame(bitmap2, delayMs);
gifEncoder.close();
Reference
- GIF Decoder is originally based on https://code.google.com/p/android-gifview/ .