Skip to main content

Crate versatiles_image

Crate versatiles_image 

Source
Expand description

VersaTiles image processing crate.

This crate provides utilities and trait extensions built around the image::DynamicImage type. It standardizes image encoding/decoding and high‑level operations used in the VersaTiles pipeline.

§Features

  • Unified access to multiple codecs (PNG, JPEG, WEBP, AVIF).
  • Color parsing utilities (color)
  • Trait extensions for:
    • Conversion and encoding (traits::convert)
    • Metadata and pixel introspection (traits::info)
    • Common transformations (scaling, flattening, cropping; traits::operation)
    • Deterministic test image generation (traits::test)

§Encoding and decoding a tile

encode takes quality and effort for every format and ignores the one a given codec has no use for — PNG has no quality setting, so it is None here:

use versatiles_core::TileFormat;
use versatiles_image::{DynamicImage, GenericImageView, decode, encode};

let image = DynamicImage::new_rgb8(256, 256);

let blob = encode(&image, TileFormat::PNG, None, Some(6))?;
let decoded = decode(&blob, TileFormat::PNG)?;

assert_eq!(decoded.dimensions(), (256, 256));

Re-exports§

pub use format::*;
pub use traits::*;

Modules§

color
Color parsing utilities.
format
This module defines and re-exports image format handlers (AVIF, JPEG, PNG, WebP). The all module provides shared traits and helper utilities for working with multiple image formats. Each submodule implements decoding and encoding logic for its respective image type.
traits
Core image trait extensions for VersaTiles.

Structs§

ImageBuffer
Generic image buffer
Luma
Grayscale colors.
LumaA
Grayscale colors + alpha channel
Rgb
RGB colors.
Rgba
RGB colors + alpha channel

Enums§

DynamicImage
A Dynamic Image

Traits§

GenericImage
A trait for manipulating images.
GenericImageView
Trait to inspect an image.
Pixel
A generalized pixel.