#image-format #image #png #jpeg #webp #byte-stream #gif

无需std imghdr

库,用于确定文件或字节流中包含的图像类型

11个版本 (6个重大更新)

0.7.0 2019年5月8日
0.6.0 2019年5月8日
0.5.0 2019年5月6日
0.4.0 2016年7月20日
0.1.4 2016年7月18日

#377 in 图像

Download history 884/week @ 2024-03-13 676/week @ 2024-03-20 961/week @ 2024-03-27 903/week @ 2024-04-03 573/week @ 2024-04-10 534/week @ 2024-04-17 443/week @ 2024-04-24 294/week @ 2024-05-01 380/week @ 2024-05-08 289/week @ 2024-05-15 281/week @ 2024-05-22 400/week @ 2024-05-29 251/week @ 2024-06-05 373/week @ 2024-06-12 490/week @ 2024-06-19 351/week @ 2024-06-26

1,499 每月下载量
用于 2 crate

Apache-2.0 OR MIT

21KB
119 代码行

imghdr

库,用于确定文件或字节流中包含的图像类型,基本上是Python imghdr 模块的克隆。

Latest Version Latest Version Rustc Version 1.31+ Travis Build Status Apache 2.0 OR MIT licensed

示例

直接检查文件

# extern crate imghdr;
# fn main() {
match imghdr::from_file("./tests/images/example.png") {
    Ok(Some(imghdr::Type::Png)) => println!("Yep, it is a PNG"),
    Ok(..) => println!("Nope, it is definitely not a PNG"),
    Err(e) => println!("Some error happened: {:?}", e),
}
# }

或检查字节流

# extern crate imghdr;
# use std::fs::File;
# use std::io::{self, Read};
#
# fn main() -> io::Result<()> {
let mut file = File::open("./tests/images/example.jpeg")?;
let mut content: Vec<u8> = vec![];
file.read_to_end(&mut content)?;

match imghdr::from_bytes(&content) {
    Some(imghdr::Type::Jpeg) => println!("And this is a Jpeg"),
    _ => println!("Can a Png, Bmp or other file format"),
}

# Ok(())
# }

无运行时依赖