commit 1c53367304de13c236993a9f985a83f8d9806fae
parent eec4202c7df15a7c2529cb8a7b8eb7f3008a628b
Author: n0tr1v <n0tr1v@protonmail.com>
Date: Thu, 30 Mar 2023 01:52:09 -0700
cleanup
Diffstat:
1 file changed, 11 insertions(+), 13 deletions(-)
diff --git a/src/lechatphp/mod.rs b/src/lechatphp/mod.rs
@@ -92,7 +92,7 @@ fn get_letter_img(letter: char) -> DynamicImage {
pub fn solve_b64(b64_str: &str) -> Option<String> {
let img_dec = general_purpose::STANDARD.decode(b64_str.strip_prefix("data:image/gif;base64,")?).ok()?;
let img = image::load_from_memory(&img_dec).ok()?;
- if img.dimensions().0 > 60 {
+ if img.width() > 60 {
return match solve_difficulty3(&img) {
Ok(answer) => Some(answer),
Err(_e) => {
@@ -400,32 +400,31 @@ impl From<(u32, u32)> for Point {
fn get_contour_red_pixels(top_left_pt: &Point, img: &DynamicImage) -> Vec<Point> {
let mut out = vec![];
- let img_dim = img.dimensions();
- let bottom_right_pt = top_left_pt.add(Point::from(img_dim));
- for i in 0..img_dim.0 {
+ let bottom_right_pt = top_left_pt.add(Point::from(img.dimensions()));
+ for i in 0..img.width() {
if let Some(px_color) = get_pixel_in_bound(img, i, 0) {
if px_color == *RED_COLOR {
out.push(Point::new(top_left_pt.x+i, 0));
}
}
- if let Some(px_color) = get_pixel_in_bound(img, i, img_dim.1-1) {
+ if let Some(px_color) = get_pixel_in_bound(img, i, img.height()-1) {
if px_color == *RED_COLOR {
out.push(Point::new(top_left_pt.x+i, bottom_right_pt.y-1));
}
}
}
- for i in 1..img_dim.1-1 {
+ for i in 1..img.height()-1 {
if let Some(px_color) = get_pixel_in_bound(img, 0, i) {
if px_color == *RED_COLOR {
out.push(Point::new(top_left_pt.x, top_left_pt.y+i));
}
}
- if img_dim.0 < img_dim.1 {
- if img_dim.0 == 150 {
+ if img.width() < img.height() {
+ if img.width() == 150 {
continue;
}
}
- if let Some(px_color) = get_pixel_in_bound(img, img_dim.0-1, i) {
+ if let Some(px_color) = get_pixel_in_bound(img, img.width()-1, i) {
if px_color == *RED_COLOR {
out.push(Point::new(bottom_right_pt.x-1, top_left_pt.y+i));
}
@@ -435,8 +434,7 @@ fn get_contour_red_pixels(top_left_pt: &Point, img: &DynamicImage) -> Vec<Point>
}
fn get_pixel_in_bound(img: &DynamicImage, x: u32, y: u32) -> Option<Rgba<u8>> {
- let dim = img.dimensions();
- if x >= dim.0 || y >= dim.1 {
+ if x >= img.width() || y >= img.height() {
return None;
}
Some(img.get_pixel(x, y))
@@ -491,8 +489,8 @@ fn count_px_on(img: &DynamicImage) -> usize {
// Count pixels that are red
fn count_red_px(img: &DynamicImage) -> usize {
let mut count_on = 0;
- for y in 0..img.dimensions().1 {
- for x in 0..img.dimensions().0 {
+ for y in 0..img.height() {
+ for x in 0..img.width() {
let c = img.get_pixel(x, y);
if c == *RED_COLOR {
count_on += 1