Skip to content

Notsfsssf/android-ndk-gif

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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
    • use low memory and encode fast. But low quality.
    • ENCODING_TYPE_SIMPLE_FAST
  • ENCODING_TYPE_FAST (Thanks to commitor "JBurkeKF")
    • encode fast. And better quality.
    • ENCODING_TYPE_SIMPLE_FAST
  • ENCODING_TYPE_NORMAL_LOW_MEMORY
    • use lower memory than ENCODING_TYPE_STABLE_HIGH_MEMORY. and image changing dynamic.
    • ENCODING_TYPE_NORMAL_LOW_MEMORY
  • ENCODING_TYPE_STABLE_HIGH_MEMORY
    • slowest and use high memory. But high quality and stable image sequence.
    • 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


Android Arsenal

About

GIF library built with ndk and gradle in aar format for usage with android gradle build system.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 86.9%
  • Java 7.7%
  • C 5.0%
  • Makefile 0.4%