#jpeg #image

程序 jfifdump-cli

读取并转储 jpeg 文件的结构

5 个不稳定版本

0.5.1 2024年1月30日
0.5.0 2023年10月9日
0.4.0 2023年9月29日
0.3.2 2023年2月7日
0.3.1 2022年7月7日

#641图像

每月 24 次下载

MIT/Apache

44KB
991

JFIF-Dump

docs.rs badge crates.io badge Rust

读取并转储 jpeg 文件的结构。

此 crate 可用作库或命令行工具。

安装

$ cargo install jfifdump-cli

用法

$ jfifdump image.jpeg

命令行选项

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

将 jfifdump 作为库使用

要使用 jfifdump 作为库,请在您的 Cargo.toml 依赖项中添加以下内容

jfifdump = "0.5"

示例:打印图像尺寸

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(())
}

许可证

本项目采用 Apache License 2.0 许可,或 MIT 许可。

贡献

除非您明确声明,否则您提交给 jfifdump 的任何有意贡献,根据 Apache-2.0 许可定义,均应按上述方式双重许可,不附加任何额外条款或条件。

依赖项

~1MB
~19K SLoC