[−][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::*; 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 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 _, sample.height() as _ )?;
image
crate integration
The integration is enabled by default. If you don't need it, disable with-image
feature.
use jpegxl_rs::image::*; let sample = std::fs::read("test/sample.jxl")?; let decoder: JXLImageDecoder<u16> = JXLImageDecoder::new(&sample)?; let img = image::DynamicImage::from_decoder(decoder)?;
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. |