From c5fa5fb07b70e720fdaa0014791bd9305e4f57c0 Mon Sep 17 00:00:00 2001 From: Compositr Date: Sat, 2 Nov 2024 12:34:16 +1100 Subject: [PATCH] feat: bg colour option --- src/main.rs | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/main.rs b/src/main.rs index 3218dca..34f84a4 100644 --- a/src/main.rs +++ b/src/main.rs @@ -134,6 +134,27 @@ fn main() { None => {} } + let mut background = Color::TRANSPARENT; + match req.url.query.get("background") { + Some(background_str) => { + match u32::from_str_radix(&background_str, 16) { + Ok(background_val) => { + if background_val > 0xFFFFFF { + return Response::new(req, 400, Body::Static("Invalid background value. Background value must be a valid hex color 000000 - FFFFFF")); + } + let red = ((background_val >> 16) & 0xFF) as u8; + let green = ((background_val >> 8) & 0xFF) as u8; + let blue = (background_val & 0xFF) as u8; + background = Color::from_rgba8(red, green, blue, 255); + } + Err(_) => { + return Response::new(req, 400, Body::Static("Invalid background value. Background value must be a valid hex color")); + } + } + } + None => {} + } + let length = 24 * scale + padding; let mut pixmap = match Pixmap::new(length, length) { @@ -142,6 +163,7 @@ fn main() { }; let mut pixmap_mut = pixmap.as_mut(); + pixmap_mut.fill(background); resvg::render( &tree,