use escposify::device::File;
use escposify::img::Image;
use escposify::printer::Printer;
use image::{DynamicImage, ImageBuffer};
use std::io;
use tempfile::NamedTempFileOptions;
fn main() -> io::Result<()> {
let tempf = NamedTempFileOptions::new().create().unwrap();
let file = File::from(tempf);
let mut printer = Printer::new(file, None, None);
let img = ImageBuffer::from_fn(512, 512, |x, _| {
if x % 2 == 0 {
image::Rgb([0, 0, 0])
} else {
image::Rgb([0xFF, 0xFF, 0xFF])
}
});
let image = Image::from(DynamicImage::ImageRgb8(img));
printer
.chain_align("ct")?
.chain_raster(&image, None)?
.chain_raster(&image, Some("dw"))?
.chain_raster(&image, Some("dh"))?
.chain_raster(&image, Some("dwdh"))?
.flush()
}