optional hd image mode

This commit is contained in:
Max Bradbury 2020-04-05 22:26:47 +01:00
parent b7ff7c951c
commit bdec7e5d4f
1 changed files with 11 additions and 3 deletions

View File

@ -1,6 +1,9 @@
use std::fmt; use std::fmt;
use std::collections::HashMap; use std::collections::HashMap;
const IMAGE_DIMENSION_SD: usize = 8;
const IMAGE_DIMENSION_HD: usize = 16;
#[derive(Eq, PartialEq)] #[derive(Eq, PartialEq)]
struct Colour { struct Colour {
red: u8, red: u8,
@ -145,11 +148,16 @@ fn image_from_string(string: String) -> Image {
} }
fn image_to_string(image: Image) -> String { fn image_to_string(image: Image) -> String {
let mut string = String::new(); image_to_string_opts(image, true)
}
for line in image.pixels.chunks(8) { fn image_to_string_opts(image: Image, hd: bool) -> String {
let mut string = String::new();
let chunk_size = if hd {IMAGE_DIMENSION_HD} else {IMAGE_DIMENSION_SD};
for line in image.pixels.chunks(chunk_size) {
for pixel in line { for pixel in line {
string.push(if *pixel {'1'} else {'0'}); string.push(*pixel as char);
} }
string.push('\n'); string.push('\n');
} }