5个版本
0.2.2 | 2021年2月27日 |
---|---|
0.2.1 | 2021年2月26日 |
0.1.3 | 2021年2月24日 |
602 在 图像
36KB
127 行
ez-pixmap
一个简单易用的内联Pixmap(类似xpm)图像解码器。它不符合xpm图像格式,但足够接近。
- 不支持单色或符号。
- 每个像素只支持一个字符。
主要用途:简单的图标艺术。
用法
[dependencies]
ez-pixmap = "0.2"
extern crate ez_pixmap;
const PXM: &[&str] = &[
"50 34 4 1", // <width> <height> <num of colors> <chars/pixels>
" c black", // <char> c <color>
"o c #ff9900",
"@ c white",
"# c None",
// pixels
"##################################################",
"### ############################## ####",
"### ooooo ########################### ooooo ####",
"### oo oo ######################### oo oo ####",
"### oo oo ####################### oo oo ####",
"### oo oo ##################### oo oo ####",
"### oo oo ################### oo oo ####",
"### oo oo oo oo ####",
"### oo oo ooooooooooooooo oo oo ####",
"### oo ooooooooooooooooooooo oo ####",
"### oo ooooooooooooooooooooooooooo ooo ####",
"#### oo ooooooo ooooooooooooo ooooooo oo #####",
"#### oo oooooooo ooooooooooooo oooooooo oo #####",
"##### oo oooooooo ooooooooooooo oooooooo oo ######",
"##### o ooooooooooooooooooooooooooooooo o ######",
"###### ooooooooooooooooooooooooooooooooooo #######",
"##### ooooooooo ooooooooo ooooooooo ######",
"##### oooooooo @@@ ooooooo @@@ oooooooo ######",
"##### oooooooo @@@@@ ooooooo @@@@@ oooooooo ######",
"##### oooooooo @@@@@ ooooooo @@@@@ oooooooo ######",
"##### oooooooo @@@ ooooooo @@@ oooooooo ######",
"##### ooooooooo ooooooooo ooooooooo ######",
"###### oooooooooooooo oooooooooooooo #######",
"###### oooooooo@@@@@@@ @@@@@@@oooooooo #######",
"###### ooooooo@@@@@@@@@ @@@@@@@@@ooooooo #######",
"####### ooooo@@@@@@@@@@@ @@@@@@@@@@@ooooo ########",
"######### oo@@@@@@@@@@@@ @@@@@@@@@@@@oo ##########",
"########## o@@@@@@ @@@@@ @@@@@ @@@@@@o ###########",
"########### @@@@@@@ @ @@@@@@@ ############",
"############ @@@@@@@@@@@@@@@@@@@@@ #############",
"############## @@@@@@@@@@@@@@@@@ ###############",
"################ @@@@@@@@@ #################",
"#################### #####################",
"##################################################",
];
fn main() -> Result<(), Box<dyn std::error::Error>> {
let my_image = ez_pixmap::RgbaImage::from(PXM)?;
assert_eq!(my_image.width(), 50);
assert_eq!(my_image.height(), 34);
assert_eq!(my_image.data().len(), 50 * 34 * 4); // since it's rgba
Ok(())
}
支持的颜色的列表可以在这里找到。
示例
查看示例目录以获取使用minifb和image crate的示例。
$ cargo run --example basic
$ cargo run --example image
$ cargo run --example minifb
依赖
~57KB