imageinfo-rs
imageinfo-rs copied to clipboard
Super fast Rust library to get image size and format without loading/decoding. Support avif, bmp, cur, dds, gif, hdr (pic), heic (heif), icns, ico, jp2, jpeg (jpg), jpx, ktx, png, psd, qoi, tga, tiff...
imageinfo-rs
Rust library to get image size and format without loading/decoding.
The imageinfo don't get image format by file ext name, but infer by file header bytes and character.
A rewrite of c++ version imageinfo
Some test image files are from image-size. Many thanks to @netroy.
Supported formats
- [x] avif
- [x] bmp
- [x] cur
- [x] dds
- [x] gif
- [x] hdr (pic)
- [x] heic (heif)
- [x] icns
- [x] ico
- [x] jp2
- [x] jpeg (jpg)
- [x] jpx
- [x] ktx
- [x] png
- [x] psd
- [x] qoi
- [ ] svg
- [x] tga
- [x] tiff (tif)
- [x] webp
- [ ] more coming...
Installation
See https://crates.io/crates/imageinfo
Example
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);
}
}
}
Pretty easy?
Don't be stingy with your star : )