7 个版本
使用旧的 Rust 2015
0.2.3 | 2018 年 9 月 28 日 |
---|---|
0.2.2 | 2018 年 9 月 27 日 |
0.2.0 | 2016 年 12 月 14 日 |
0.1.2 | 2016 年 12 月 10 日 |
#603 in 图像
每月 104 次下载
用于 elma-lgr
160KB
951 行
Rust 用于读取和写入 PCX 图像的库
将其添加到您的依赖项中
[dependencies]
pcx = "0.2"
有关更多信息,请参阅 API 文档。
在 WTFPL 许可证 下发布。
lib.rs
:
用于读取和写入 PCX 图像格式的库。
PCX 是一个非常老的格式,不建议用于新的应用程序。
PCX 不包含任何颜色空间信息。今天,人们通常会将其解释为包含 sRGB 颜色空间中的颜色。
读取 PCX 图像的示例
let mut reader = pcx::Reader::from_file("test-data/marbles.pcx").unwrap();
println!("width = {}, height = {}, paletted = {}", reader.width(), reader.height(), reader.is_paletted());
for y in 0..reader.height() {
if reader.is_paletted() {
// call reader.next_row_paletted(...) to read next row
} else {
// call reader.next_row_rgb(...) or reader.next_row_rgb_separate(...) to read next row
}
}
写入 PCX 图像的示例
// Create 5x5 RGB file.
let mut writer = pcx::WriterRgb::create_file("test.pcx", (5, 5), (300, 300)).unwrap();
for y in 0..5 {
// Write 5 green pixels.
writer.write_row(&[0, 255, 0, 0, 255, 0, 0, 255, 0, 0, 255, 0, 0, 255, 0]);
}
writer.finish().unwrap();
此库没有实现自己的错误类型,而是使用 std::io::Error
。在无效的 PCX 文件的情况下,它将返回错误,其中 .kind() == ErrorKind::InvalidData
。