6 releases (3 breaking)
0.6.0 | Oct 5, 2024 |
---|---|
0.5.1 | Jan 30, 2024 |
0.5.0 | Oct 9, 2023 |
0.4.0 | Sep 29, 2023 |
0.3.1 | Jul 7, 2022 |
#298 in Images
46KB
1K
SLoC
JFIF-Dump
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-cli
Usage
$ jfifdump image.jpeg
Command-line options
Read and dump structure of a jpeg file
Usage: jfifdump [OPTIONS] <INPUT>
Arguments:
<INPUT> Jpeg file to use
Options:
-f, --format <FORMAT> Output format [default: text] [possible values: text, json]
-v, --verbose Make output more verbose
-h, --help Print help
-V, --version Print version
Using jfifdump as a library
To use jfifdump as a library add the following to your Cargo.toml dependencies:
jfifdump = "0.6"
Example: Print image dimensions
use jfifdump::{Reader, SegmentKind, 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()?.kind {
SegmentKind::Eoi => break,
SegmentKind::Frame(frame) => {
println!("{}x{}", frame.dimension_x, frame.dimension_y);
break;
}
_ => {
// Ignore other segments
}
}
}
Ok(())
}
License
This project is licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or https://opensource.org/licenses/MIT)
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.
Dependencies
~1MB
~18K SLoC