27 lines
668 B
Rust
27 lines
668 B
Rust
mod dithering;
|
|
mod escpos;
|
|
|
|
use image::{ImageError, ImageReader};
|
|
use std::{env, fs, io, io::Write, process};
|
|
|
|
fn main() {
|
|
let args: Vec<String> = env::args().collect();
|
|
|
|
let len = args.len();
|
|
if len < 2 || len > 2 {
|
|
println!("Please provide a path to the image.");
|
|
process::exit(1);
|
|
}
|
|
|
|
let img = ImageReader::open(&args[1])
|
|
.map_err(|err| ImageError::IoError(err))
|
|
.and_then(|v| v.decode())
|
|
.unwrap();
|
|
|
|
let mut escpos = escpos::escpos_raster(&img, Some(escpos::ImageOrientation::Largest), Some(0));
|
|
for _ in 0..2 {
|
|
escpos.push('\n' as u8);
|
|
}
|
|
|
|
io::stdout().write(&escpos).unwrap();
|
|
}
|