QOI (Quite OK Image) manipulation library

Examples

Convert QOI to PNG (with image crate):

```rust use image::RgbaImage; use img_qoi::*;

let (desc, bufrgba) = qoiopen("foo.qoi", QoiChannels::Rgba)?;

let img = RgbaImage::fromvec(desc.width().get(), desc.height().get(), bufrgba).unwrap(); img.save("foo.png")?; ```

Convert PNG to QOI (with image crate):

```rust use std::num::NonZeroU32; use img_qoi::*;

let img = image::open("foo.png")?; let img = img.to_rgba8();

let desc = QoiDesc::new( NonZeroU32::new(img.width()).unwrap(), NonZeroU32::new(img.height()).unwrap() );

// RgbaImage implements Deref<[u8]>. qoisavefrom_buffer("foo.qoi", &desc, &*img, QoiChannels::Rgba)?; ```

License

MIT