tiff_writer/lib.rs
1//! Pure-Rust TIFF/BigTIFF encoder with compression, tiling, and streaming writes.
2//!
3//! Supports:
4//! - **Compression**: None, LZW, Deflate, JPEG (feature), LERC, LERC+Deflate, LERC+Zstd, ZSTD (feature)
5//! - **Predictors**: Horizontal differencing, floating-point
6//! - **Layouts**: strips, tiles, multi-IFD, BigTIFF
7//!
8//! # Example
9//!
10//! ```no_run
11//! use tiff_writer::{TiffWriter, WriteOptions, ImageBuilder};
12//! use tiff_core::Compression;
13//! use std::io::Cursor;
14//!
15//! let mut buf = Cursor::new(Vec::new());
16//! let mut writer = TiffWriter::new(&mut buf, WriteOptions::default()).unwrap();
17//!
18//! let image = ImageBuilder::new(4, 4).sample_type::<u8>();
19//! let handle = writer.add_image(image).unwrap();
20//! writer.write_block(&handle, 0, &[0u8; 16]).unwrap();
21//! writer.finish().unwrap();
22//! ```
23
24pub mod builder;
25pub mod compress;
26pub mod encoder;
27pub mod error;
28pub mod sample;
29pub mod writer;
30
31pub use builder::{DataLayout, ImageBuilder, JpegOptions, LercOptions};
32pub use error::{Error, Result};
33pub use sample::TiffWriteSample;
34pub use tiff_core::LercAdditionalCompression;
35pub use writer::{ImageHandle, TiffVariant, TiffWriter, WriteOptions};