jfifdump 0.2.0

Read and dump structure of a jpeg file
Documentation

JFIF-Dump

docs.rs badge crates.io badge Rust

Read and dump structure of a jpeg file.

This crate can be used as a library or as a command line utility.

Installation

$ cargo install jfifdump

Usage

$ jfifdump image.jpeg

Command-line options

USAGE:
    jfifdump [FLAGS] [OPTIONS] <INPUT>

FLAGS:
    -v, --verbose    Make output more verbose
    -h, --help       Prints help information
    -V, --version    Prints version information

OPTIONS:
    -f, --format <FORMAT>    Output format [default: text]  [possible values: text, json]

ARGS:
    <INPUT>    Jpeg file to use

Using jfifdump as a library

To use jfifdump as a library add the following to your Cargo.toml dependencies:

jfifdump = "0.2"

Example: Print image dimensions

use jfifdump::{Reader, Segment, JfifError};
use std::fs::File;
use std::io::BufReader;

fn main() -> Result<(), JfifError> {
    let file = File::open("some.jpeg")?;

    let mut reader = Reader::new(BufReader::new(file))?;

    loop {
        match reader.next_segment()? {
            Segment::Eoi => break,
            Segment::Frame(frame) => {
                println!("{}x{}", frame.dimension_x, frame.dimension_y);
                break;
            }
            _ => {
                // Ignore other segments
            }
        }
    }

    Ok(())
}

License

This project is licensed under either of

Contribution

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