TIFF decoding/encoding library for Rust.
Put this in your Cargo.toml
:
[dependencies]
rustiff = "0.1"
Then put this in your crate root:
extern crate rustiff
This example shows how to read TIFF data.
extern crate rustiff;
use rustiff::{
Decoder,
DecodeResult,
DecodeError,
Image,
ImageData,
};
use std::fs::File;
fn main() -> DecodeResult<()> {
let f = File::open("sample.tiff")?;
let mut decoder = Decoder::new(f)?;
let image = decoder.image()?;
let image_data = image.data(); // Vec<u8> or Vec<u16>
Ok(())
}
You can get the value associated with the tag.
extern crate rustiff;
use rustiff::{
tag,
IFD,
Decoder,
DecodeResult,
DecodeError,
};
use std::fs::File;
fn main() -> DecodeResult<()> {
let f = File::open("sample.tiff")?;
let mut decoder = Decoder::new(f)?;
let ifd = decoder.ifd()?;
let width = decoder.get_value(&ifd, tag::ImageWidth)?;
let height = decoder.get_value(&ifd, tag::ImageLength)?;
Ok(())
}