1 个不稳定版本
使用旧 Rust 2015
0.1.0 | 2017 年 5 月 28 日 |
---|
#37 in #光栅
31KB
649 行
pwgraster
解码打印机工作组候选标准 5102.4-2012 光栅图像。
许可证
根据以下任一许可证授权
- Apache 许可证 2.0 版,(LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
贡献
除非您明确声明,否则根据 Apache-2.0 许可证定义的,您有意提交供包含在工作中的任何贡献,将根据上述方式双重许可,不附加任何额外的条款或条件。
lib.rs
:
PWG 光栅
解码打印机工作组候选标准 5102.4-2012 光栅图像。
解码多页
next_page() 将调用一个闭包,该闭包允许访问页眉和页面数据结构。当没有更多页面时,它将返回 Ok(None)。
use std::fs::File;
use std::io::BufReader;
use pwgraster::PWGReader;
let infile = File::open("./color.jpg-4x6-srgb-8-600dpi.pwg")
.expect("Failed to open input");
let mut pwg = PWGReader::new(BufReader::new(infile), true).unwrap();
while pwg.next_page(|page| {
let width = page.header().Width().unwrap();
let height = page.header().Height().unwrap();
println!("Page dimensions {}x{}", width, height);
let mut buf = Vec::with_capacity(page.header().image_size_bytes().unwrap());
println!("Reading page");
page.unpack(&mut buf).unwrap();
println!("Page read");
// Do something with image data
Ok(())
}).unwrap().is_some() {}
依赖项
~1MB
~18K SLoC