Skip to main content

Crate tiff_writer

Crate tiff_writer 

Source
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§

LercAdditionalCompression
TIFF-side LERC additional compression mode.