flif 0.1.0

flif decoder written in pure Rust
Documentation

flif.rs

Build Status version license

flif.rs is a Rust implementation of the flif16 image format. This project was inspired by the work on flif-rs.

Current Status

Currently this project in alpha stage. As of right now pixel data can be decoded but only for a limited subset of valid flif images. The most significant limitations are:

  • Animations are not supported.
  • Interlaced images are not supported.
  • Grayscale color space is not supported.
  • Certain transformations are not supported.

As this project progresses more and more missing features will end up being supported.

Development

Prerequisites

  • rustc (either via rustup or your distributions package manager)
  • cargo (via the same method as above)

Building

  • git clone https://github.com/dgriffen/flif.rs.git
  • cd flif.rs
  • cargo build

Usage

  1. add this crate to your crates Cargo.toml like so:
[package]
name = "some_package"
version = "0.0.1"
authors = ["John Doe <you@example.com>"]

[dependencies]
flif = { git = "https://github.com/dgriffen/flif.rs" }
  1. in the root of your project reference the crate:
extern crate flif;
  1. the crate can now be used to decode flif headers :D
extern crate flif;

use std::fs::File;
use flif::Decoder;

fn main() {
    let file = std::fs::File::open("some_image.flif").unwrap();
    let mut decoder = Decoder::new(file);
    let flif = decoder.decode().unwrap();
    let pixels = flif.get_raw_pixels();
}

Trademarks

The flif.rs logo is a combination of the official flif logo and Rust logo.