Expand description
Pure-Rust TIFF/BigTIFF encoder with compression, tiling, and streaming writes.
Supports:
- Compression: None, LZW, Deflate, JPEG (feature), LERC, LERC+Deflate, LERC+Zstd, ZSTD (feature)
- Predictors: Horizontal differencing, floating-point
- Layouts: strips, tiles, multi-IFD, BigTIFF
§Example
use tiff_writer::{TiffWriter, WriteOptions, ImageBuilder};
use tiff_core::Compression;
use std::io::Cursor;
let mut buf = Cursor::new(Vec::new());
let mut writer = TiffWriter::new(&mut buf, WriteOptions::default()).unwrap();
let image = ImageBuilder::new(4, 4).sample_type::<u8>();
let handle = writer.add_image(image).unwrap();
writer.write_block(&handle, 0, &[0u8; 16]).unwrap();
writer.finish().unwrap();Re-exports§
pub use builder::DataLayout;pub use builder::ImageBuilder;pub use builder::JpegOptions;pub use builder::LercOptions;pub use error::Error;pub use error::Result;pub use sample::TiffWriteSample;pub use writer::ImageHandle;pub use writer::TiffVariant;pub use writer::TiffWriter;pub use writer::WriteOptions;
Modules§
- builder
- Image builder for configuring a single TIFF IFD.
- compress
- Compression pipeline: forward predictor + compress.
- encoder
- Low-level TIFF byte emission: header writing, IFD serialization, offset patching.
- error
- sample
- Type-safe sample encoding for TIFF writes.
- writer
- Main TiffWriter: orchestrates multi-IFD streaming writes.
Enums§
- Lerc
Additional Compression - TIFF-side LERC additional compression mode.