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 图像
1,499 每月下载量
用于 2 crate
21KB
119 代码行
imghdr
库,用于确定文件或字节流中包含的图像类型,基本上是Python imghdr 模块的克隆。
示例
直接检查文件
# 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(())
# }