/pgen/0 now resizes image as /gen/0 does
authorMegaBrutal <code+git@megabrutal.com>
Thu, 14 Jul 2022 21:30:45 +0000 (23:30 +0200)
committerMegaBrutal <code+git@megabrutal.com>
Thu, 14 Jul 2022 21:30:45 +0000 (23:30 +0200)
src/main.rs

index 7340b0bc02a8390955d5451b6e50f48c43495d67..32202b8e372343948857716eb68b750ea19e8b6a 100644 (file)
@@ -142,7 +142,6 @@ fn make_png(dim_x: u32, dim_y: u32, scale: u32, data: &mut dyn Iterator<Item = u
 async fn img_gen0(req: HttpRequest) -> Result<impl Responder> {
     let data = req.uri().path().split("/").skip(3).next().unwrap();
     let cursor = make_png(32, 32, 16, percent_decode_str(&data).into_iter().borrow_mut())?;
-    println!("{:?}", &cursor);
     Ok(HttpResponse::build(StatusCode::OK)
        .content_type("image/png")
        .body(cursor.into_inner()))
@@ -162,15 +161,17 @@ async fn img_gen1(req: HttpRequest, path: web::Path<(u32, u32, u32)>) -> Result<
 async fn img_pgen0(req: HttpRequest, canvas0: web::Data<Arc<Mutex<Option<Canvas>>>>) -> Result<impl Responder> {
     let data = req.uri().path().split("/").skip(3).next().unwrap();
     let mut cursor = Cursor::new(Vec::new());
-    let tdim_x = 32;
-    let tdim_y = 32;
-    {
+    let scale = 16;
+    let tdim_x = 32 * scale;
+    let tdim_y = 32 * scale;
+    let img: RgbImage = {
         let mut canvas_option = &mut *canvas0.lock().unwrap();
         let canvas = canvas_option.take();
         let canvas = rgb_encode_to_canvas(canvas.expect("Canvas doesn't exist!"), percent_decode_str(&data).into_iter().borrow_mut())?;
-        to_imageresult(write_buffer_with_format(&mut cursor, &canvas.img, tdim_x, tdim_y, ColorType::Rgb8, Png))?;
-        canvas_option.insert(canvas);
-    }
+        canvas_option.insert(canvas).img.clone()
+    };
+    let img = resize(&img, tdim_x, tdim_y, FilterType::Nearest);
+    to_imageresult(write_buffer_with_format(&mut cursor, &img, tdim_x, tdim_y, ColorType::Rgb8, Png))?;
     Ok(HttpResponse::build(StatusCode::OK)
        .content_type("image/png")
        .body(cursor.into_inner()))