[−][src]Crate jpegxl_rs
Overview
A safe JPEGXL wrapper over jpeg-xl
library. Check out the original library
and the bindings.
Usage
Decoding
use jpegxl_rs::decoder::*; let sample = std::fs::read("test/sample.jxl")?; let mut decoder: JXLDecoder<u8> = decoder_builder().build(); let (info, buffer) = decoder.decode(&sample)?;
Set output pixel paramaters
// Pixel type is set by type parameter use jpegxl_rs::{decoder::*, Endianness}; let mut decoder: JXLDecoder<u16> = decoder_builder() .num_channels(3) .endian(Endianness::Big) .align(8) .build();
Encoding
use image::io::Reader as ImageReader; let sample = ImageReader::open("test/sample.png")?.decode()?.to_rgba16(); let mut encoder = encoder_builder().build(); let buffer: Vec<u8> = encoder.encode( &sample, sample.width() as u64, sample.height() as u64 )?;
image
crate integration
The integration is enabled by default. If you don't need it, disable with-image
feature.
Re-exports
pub use decoder::*; |
pub use encoder::*; |
Modules
decoder | Decoder of JPEG XL format |
encoder | Encoder of JPEG XL format |
error | Decoder and encoder errors |
image |
|
memory | Memory manager interface |
parallel | Parallel runner interface |
Enums
Endianness | Endinness |
Traits
PixelType | Pixel data type. Currently u8, u16, u32 and f32 are supported. |