demo_writer.rs 718 B

12345678910111213141516171819202122232425
  1. /*
  2. * Copyright 2024 Axel Waggershauser
  3. */
  4. // SPDX-License-Identifier: Apache-2.0
  5. use image;
  6. use std::fs;
  7. use zxingcpp::*;
  8. fn main() -> anyhow::Result<()> {
  9. let text = std::env::args().nth(1).expect("no input text provided");
  10. let format = std::env::args().nth(2).expect("no format provided");
  11. let filename = std::env::args().nth(3).expect("no output file name provided");
  12. let create_barcode = create(BarcodeFormat::from_str(format)?);
  13. let bc = create_barcode.from_str(text)?;
  14. if filename.ends_with(".svg") {
  15. fs::write(filename, bc.to_svg_with(&write().with_hrt(true))?).expect("Unable to write file");
  16. } else {
  17. image::GrayImage::from(&bc.to_image_with(&write().scale(4))?).save(filename)?;
  18. }
  19. Ok(())
  20. }