#打印 #图像 #光栅 #解码 # #标准 #pwg

bin+lib pwgraster

解码 PWG(打印机工作组)光栅图像

1 个不稳定版本

使用旧 Rust 2015

0.1.0 2017 年 5 月 28 日

#37 in #光栅

MIT/Apache

31KB
649

pwgraster

解码打印机工作组候选标准 5102.4-2012 光栅图像。

许可证

根据以下任一许可证授权

任选其一。

贡献

除非您明确声明,否则根据 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