versatiles_image

Crates.ioversatiles_image
lib.rsversatiles_image
version3.4.0
created_at2024-07-06 13:20:58.29324+00
updated_at2026-01-23 14:43:18.17846+00
descriptionA toolbox for converting, checking and serving map tiles in various formats.
homepagehttps://versatiles.org
repositoryhttps://github.com/versatiles-org/versatiles-rs
max_upload_size
id1294041
size164,474
Michael Kreil (MichaelKreil)

documentation

README

versatiles_image

Image processing and codec support for VersaTiles.

Crates.io Documentation

Overview

versatiles_image provides utilities and trait extensions for working with raster images in the VersaTiles ecosystem. It offers a unified interface for encoding, decoding, and transforming images across multiple formats.

This crate standardizes image operations used throughout the VersaTiles tile processing pipeline.

Features

  • Multiple Codecs: Support for PNG, JPEG, WEBP, and AVIF formats
  • Unified API: Consistent interface built on image::DynamicImage
  • Format Conversion: Transcode between different image formats
  • Image Operations: Scale, crop, flatten, and transform images
  • Metadata Access: Query image dimensions, color types, and format information
  • Test Utilities: Generate deterministic test images for development

Usage

cargo add versatiles_image

Or see crates.io/crates/versatiles_image for version info and docs.rs/versatiles_image for API documentation.

Example

use versatiles_image::{DynamicImage, ImageFormat, ImageConvert};

// Load an image
let img = DynamicImage::load_from_bytes(&image_data)?;

// Convert format
let png_data = img.encode_to_format(ImageFormat::PNG)?;
let webp_data = img.encode_to_format(ImageFormat::WEBP)?;

// Transform
let resized = img.resize(256, 256)?;
let cropped = img.crop(0, 0, 128, 128)?;

// Get metadata
let (width, height) = img.dimensions();
println!("Image size: {}x{}", width, height);

API Documentation

For detailed API documentation, see docs.rs/versatiles_image.

Part of VersaTiles

This crate is part of the VersaTiles project, a toolbox for working with map tile containers in various formats.

For the complete toolset including CLI tools and servers, see the main VersaTiles repository.

License

MIT License - see LICENSE for details.

Commit count: 2978

cargo fmt