1个不稳定版本
0.1.0 | 2021年11月30日 |
---|
653 在 图像 中
65KB
1.5K SLoC
QOI (相当好的图像) 操作库
示例
将QOI转换为PNG(使用image
crate)
use image::RgbaImage;
use img_qoi::*;
let (desc, buf_rgba) = qoi_open("foo.qoi", QoiChannels::Rgba)?;
let img = RgbaImage::from_vec(desc.width().get(), desc.height().get(), buf_rgba).unwrap();
img.save("foo.png")?;
将PNG转换为QOI(使用image
crate)
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]>`.
qoi_save_from_buffer("foo.qoi", &desc, &*img, QoiChannels::Rgba)?;
许可证
MIT
lib.rs
:
QOI (相当好的图像) 操作库。
示例
将QOI转换为PNG(使用image
crate)
use image::RgbaImage;
use img_qoi::*;
let (desc, buf_rgba) = qoi_open("foo.qoi", QoiChannels::Rgba)?;
let img = RgbaImage::from_vec(desc.width().get(), desc.height().get(), buf_rgba).unwrap();
img.save("foo.png")?;
将PNG转换为QOI(使用image
crate)
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]>`.
qoi_save_from_buffer("foo.qoi", &desc, &*img, QoiChannels::Rgba)?;
依赖
~0.5–1MB
~22K SLoC