From b885cc3fb73ae7b3b1edb3e0d91c15675895ab7f Mon Sep 17 00:00:00 2001 From: Anas Elgarhy Date: Mon, 3 Oct 2022 20:13:59 +0200 Subject: [PATCH] =?UTF-8?q?Create=20the=20ascii=5Fprocessor=20=F0=9F=A5=B0?= =?UTF-8?q?=F0=9F=A6=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 2 - images/anime.jpg | Bin 0 -> 28846 bytes images/anime_2.jpg | Bin 0 -> 41864 bytes images/image.png | Bin 0 -> 60974 bytes images/money_mouth_face.png | Bin 0 -> 3404 bytes src/args.rs | 34 ++++++++++++++--- src/ascii_processor.rs | 74 ++++++++++++++++++++++++++++++++++++ src/main.rs | 61 +++++++++++++++++++++++++++-- 8 files changed, 160 insertions(+), 11 deletions(-) create mode 100644 images/anime.jpg create mode 100644 images/anime_2.jpg create mode 100644 images/image.png create mode 100644 images/money_mouth_face.png create mode 100644 src/ascii_processor.rs diff --git a/.gitignore b/.gitignore index 641e562..a810fde 100644 --- a/.gitignore +++ b/.gitignore @@ -11,5 +11,3 @@ Cargo.lock # These are backup files generated by rustfmt **/*.rs.bk -# testing files -image.png diff --git a/images/anime.jpg b/images/anime.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5d88110297911856811b46c83e766da5d1c19c6e GIT binary patch literal 28846 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 WV{8q#>8`h7b+$6uOLwt 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 literal 0 HcmV?d00001 diff --git a/images/image.png b/images/image.png new file mode 100644 index 0000000000000000000000000000000000000000..7d94e695db74f97e0f1c4e810932460dc57cd606 GIT binary patch literal 60974 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 E4`9t}{{R30 literal 0 HcmV?d00001 diff --git a/images/money_mouth_face.png b/images/money_mouth_face.png new file mode 100644 index 0000000000000000000000000000000000000000..47927b99e3df7b5d0d57b0414a64cc3a1c941b4a GIT binary patch literal 3404 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 gH=)it Result<(), String> { + if self.characters.len() == 0 { + return Err("No characters provided".to_string()); + } else if self.characters.len() == 1 { + if self.mode == Mode::NormalAscii { + return Err("One character provided but mode is normal-ascii".to_string()); + } + } else if self.characters.len() > 32 { + return Err("Too many characters provided, max is 32".to_string()); + } + Ok(()) + } + } + + +} + +pub mod enums { + use clap::ValueEnum; + + #[derive(Copy, Clone, ValueEnum, Debug, PartialOrd, Eq, PartialEq)] pub enum Mode { /// Normal ASCII art #[clap(alias = "n")] @@ -35,9 +60,6 @@ pub mod args { /// Save the ascii art to a file #[clap(alias = "f")] File, - #[clap(alias = "c")] - /// Copy the ascii art to the clipboard - Clipboard, /// Print the ascii art to the terminal #[clap(alias = "s")] Stdout, diff --git a/src/ascii_processor.rs b/src/ascii_processor.rs new file mode 100644 index 0000000..e5467e2 --- /dev/null +++ b/src/ascii_processor.rs @@ -0,0 +1,74 @@ +use clap::arg; +use image::{GenericImageView, DynamicImage}; +use colored::{ColoredString, Colorize}; +use crate::args::{ + args::Arguments, + enums::Mode +}; + +pub fn generate_ascii(image: DynamicImage, args: &Arguments) -> Result, error::ASCIIProcessingError> { + let characters = args.characters.chars().collect::>(); + trace!("Characters: {:?}, length: {}", characters, characters.len()); + let mut output = Vec::new(); + let (width, height) = image.dimensions(); + + for y in 0..height { + for x in 0..width { + if y % (args.scale * 2) == 0 && x % args.scale == 0 { + output.push(get_character(image.get_pixel(x, y), &characters, args.mode)); + } + } + // Add a new line at the end of each row + if y % (args.scale * 2) == 0 { + output.push("\n".into()); + } + } + + Ok(output) +} + +fn get_character(pixel: image::Rgba, characters: &Vec, mode: Mode) -> ColoredString { + let intent = if pixel[3] == 0 { 0 } else { pixel[0] / 3 + pixel[1] / 3 + pixel[2] / 3 }; + + let ch = characters[(intent / (32 + 7 - (7 + (characters.len() - 7)) as u8)) as usize]; + + let ch = String::from(ch); + + match mode { + Mode::NormalAscii => ColoredString::from(&*ch), + Mode::COLORED => { + ch.to_string() + .truecolor(pixel[0], pixel[1], pixel[2]) + } + } +} + +mod error { + use std::error::Error; + use std::fmt::{Debug, Display, Formatter}; + + #[derive(Debug)] + pub struct ASCIIProcessingError { + message: String, + } + + impl ASCIIProcessingError { + pub fn new(message: String) -> Self { + ASCIIProcessingError { + message + } + } + } + + impl Display for ASCIIProcessingError { + fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { + write!(f, "{}", self.message) + } + } + + impl Error for ASCIIProcessingError { + fn description(&self) -> &str { + &self.message + } + } +} diff --git a/src/main.rs b/src/main.rs index 8610c5d..ddba124 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,12 +1,21 @@ +use std::io::Write; use clap::Parser; use image::GenericImageView; +use colored::Colorize; extern crate pretty_env_logger; -#[macro_use] extern crate log; +#[macro_use] +extern crate log; mod args; +mod ascii_processor; -use crate::args::args::Arguments; +use crate::args::{ + args::Arguments, + enums::{Mode, OutputMethod}, +}; + +use crate::ascii_processor::generate_ascii; fn main() { // Initialize the logger @@ -18,9 +27,20 @@ fn main() { info!("Successfully parsed arguments"); trace!("Arguments: {:?}", arguments); + // Validate the arguments + info!("Validating arguments"); + match arguments.validate() { + Ok(_) => (), + Err(e) => { + error!("Failed to validate arguments: {}", e); + eprintln!("Failed to validate arguments: {}", e); + std::process::exit(1); + } + } + // Open the image info!("Opening image: {}", arguments.image); - let image = match image::open(arguments.image) { + let image = match image::open(arguments.image.clone()) { Ok(image) => image, Err(e) => { error!("Failed to open image: {:?}", e); @@ -31,4 +51,39 @@ fn main() { info!("Successfully opened image"); trace!("Image dimensions: {:?}", image.dimensions()); + // Process the image + let output = match generate_ascii(image, &arguments) { + Ok(out) => { + info!("Successfully processed image"); + out + } + Err(e) => { + error!("Failed to process image: {:?}", e); + eprintln!("Failed to process image: {:?}", e); + std::process::exit(1); + } + }; + + // Output the image + info!("Outputting image"); + match arguments.output_method { + OutputMethod::File => { + match std::fs::write(arguments.output.clone(), + output.iter().map(|s| s.to_string()).collect::()) { + Ok(_) => info!("Successfully outputted image: {}", arguments.output), + Err(e) => { + error!("Failed to output image: {:?}", e); + eprintln!("Failed to output image: {:?}", e); + std::process::exit(1); + } + } + } + OutputMethod::Stdout => { + for char in output { + print!("{}", char); + std::io::stdout().flush().unwrap(); + } + info!("Successfully outputted image"); + } + } }