1个不稳定版本
0.0.1 | 2022年12月23日 |
---|
#6 in #pgm
30KB
284 代码行
🎨 Ductr
一个小型struct crate,用于读取、写入和简单操作便携式像素图格式家族
🧠 设计
此crate的开发重点是快速和简单的调试。将字节数组快速打印到可视文件,在调试基本的图形和图像操作算法时非常有用,便携式像素图家族格式也是设置最快的之一。
将来这个crate可能会扩展到其他光栅文件格式,如JPEG或BMP
🖥️ 使用方法
以下crate可以通过在项目的Cargo.toml
文件中输入以下内容来使用
[dependencies]
ductr = "0.0.1"
⚙️ 示例
use ductr::AnymapImage;
// Creating a 100x100 black pbm image
// Prepare buffer to be written to pbm format
let buffer = vec![1; 100*100];
// Create AnymapImage object with pbm constructor
let pbm_black = AnymapImage::pbm(buffer, 100, 100).unwrap();
// Write pbm as binary file
pbm_black.write_as_binary("pbm_black_binary.pbm").expect("Error: could not to binary file.");
use ductr::AnymapImage;
// Inverting the colors of a given ppm image
// Create AnymapImage object from binary ppm image file
let mut cat = AnymapImage::read_from_binary("tests/images/cat_binary.ppm").expect("Error: could not read from binary file");
// Invert the image
cat.invert();
// Write ppm as binary file
cat.write_as_binary("tests/images/cat_inverted.pnm").expect("Error: could not write to binary file");
📌 关于格式的其他信息
-
@Tsoding - "Procedural Graphics in C" 用于突出显示像ppm家族这样的简单格式在图形调试中的实用性
👤 作者
Jonathan Kocevar
📝 许可证
本项目受GNU通用公共许可证v3.0条款的约束。