Home

Awesome

flif.rs

<p align="center"> <img src="https://cdn.rawgit.com/dgriffen/flif.rs/e9cb5c4a/flif.rs.svg" alt="logo" height=150 /> </p>

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:

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

Development

Prerequisites

Building

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 = "0.2"
  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 std::io::BufReader;
use flif::Flif;

fn main() {
    let file = std::fs::File::open("/path/to/image.flif").unwrap();
    // use `BufReader` to improve performance
    let reader = BufReader::new(file);
    let image = Flif::decode(reader).unwrap();
    println!("image info: {:?}", image.info());
    let raw_pixels = image.get_raw_pixels();
}

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Trademarks

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