#size #format-file #file-format #jpeg #filesize #file-header #file-info

bin+lib imageinfo

Rust 库,在不加载/解码的情况下获取图像大小和格式

33 个版本

0.7.26 2024 年 8 月 5 日
0.7.24 2024 年 7 月 31 日
0.7.16 2024 年 2 月 19 日
0.7.11 2023 年 12 月 21 日
0.5.0 2022 年 2 月 7 日

图像 中排名 94

Download history 18/week @ 2024-05-13 23/week @ 2024-05-20 39/week @ 2024-05-27 14/week @ 2024-06-03 8/week @ 2024-06-10 29/week @ 2024-06-17 16/week @ 2024-06-24 130/week @ 2024-07-01 27/week @ 2024-07-08 244/week @ 2024-07-15 15/week @ 2024-07-22 607/week @ 2024-07-29 248/week @ 2024-08-05 7/week @ 2024-08-12

每月下载量 879
用于 2 crate

MIT 许可证

52KB
1.5K SLoC

imageinfo-rs

在不加载/解码的情况下获取图像大小和格式的 Rust 库。

imageinfo 不通过文件扩展名获取图像格式,而是通过文件头字节和字符推断。

C++ 版本的重新编写 imageinfo

一些测试图像文件来自 image-size。感谢 @netroy

ci

支持的格式

  • avif
  • bmp
  • cur
  • dds
  • gif
  • hdr (pic)
  • heic (heif)
  • icns
  • ico
  • jpeg2000 流 (j2k, j2c, jpc, jhc)
  • jpeg2000 (jp2, jpx, jph)
  • jpeg (jpg)
  • ktx
  • png
  • psd
  • qoi
  • svg
  • tga
  • tiff (tif)
  • webp
  • 更多即将推出...

安装

https://crates.io/crates/imageinfo

示例

use imageinfo::{ImageInfo};

fn main() {
    match ImageInfo::from_file_path("images/valid/bmp/sample.bmp") {
        Ok(info) => {
            println!("  - Ext       : {}", info.ext);
            println!("  - Full Ext  : {}", info.full_ext);
            println!("  - Size      : {}", info.size);
            println!("  - Mimetype  : {}", info.mimetype);
            println!("  - Entries   :");
            for size in info.entry_sizes.iter() {
                println!("    - {}", size);
            }
        }
        Err(err) => {
            println!("  - Err       : {}", err);
        }
    }
}

很容易吗?

不要吝啬你的 star : )

依赖项

~0.4–1MB
~22K SLoC