Skip to main content

Module webp

Module webp 

Source
Expand description

Compatibility shim for the webp crate (0.3.x).

This module provides an API-compatible interface to ease migration from the webp crate to webpx.

§Migration

Replace your imports:

// Before
use webp::{Encoder, Decoder, PixelLayout};

// After
use webpx::compat::webp::{Encoder, Decoder, PixelLayout};

§Example

use webpx::compat::webp::{Encoder, Decoder, PixelLayout};

// Encode
let rgba = vec![255u8, 0, 0, 255, 0, 255, 0, 255, 0, 0, 255, 255, 255, 255, 255, 255];
let encoder = Encoder::new(&rgba, PixelLayout::Rgba, 2, 2);
let webp_data = encoder.encode(85.0);

// Decode
let decoder = Decoder::new(&webp_data);
if let Some(image) = decoder.decode() {
    assert_eq!(image.width(), 2);
    assert_eq!(image.height(), 2);
}

Structs§

BitstreamFeatures
Bitstream features extracted from WebP data.
Decoder
WebP decoder (compatible with webp::Decoder).
Encoder
WebP encoder (compatible with webp::Encoder).
WebPImage
Decoded WebP image.
WebPMemory
Owned WebP memory buffer.

Enums§

PixelLayout
Pixel layout for raw image data.