8 releases

0.2.0 Jun 11, 2019
0.1.6 Jun 11, 2019

#771 in Images

MIT license

48KB
1K SLoC

giffy

Build Status crates.io

A simple GIF decoder written in Rust.

Usage

use giffy;
use std::fs::File;

let mut src = File::open("<gif path>").expect("File not found");
match giffy::load(&mut src) {
    Ok(gif) => {
        for frame in gif.image_frames {
            // do something with the frame
        }
    }

    Err(e) => {
        eprintln!("Error: {}", e);
    }
}

Try it

cargo run --example example <GIF file path> <output folder path>

This example splits the <GIF file path> into individual images and save it in the <output folder path>.

Disclaimer

At this time, this decoder is meant to be for educational/learning purposes only.


lib.rs:

giffy is a simple GIF decoder.

Example

use giffy;
use std::fs::File;

let mut src = File::open("<gif path>").expect("File not found");
match giffy::load(&mut src) {
    Ok(gif) => {
        for frame in gif.image_frames {
            // do something with the frame
        }
    }

    Err(e) => {
        eprintln!("Error: {}", e);
    }
}

No runtime deps