diff --git a/server/src/img.rs b/server/src/img.rs index 5a707a1d..c9c78046 100644 --- a/server/src/img.rs +++ b/server/src/img.rs @@ -267,8 +267,15 @@ pub fn smiley(id: Uuid) -> Result { let l_dist = Normal::new(50.0, 10.0); let s_dist = Normal::new(50.0, 20.0); + let eyes = [ + ("50 800, 300 550, 550 800", 1), + ("50 550, 300 800, 550 550", 1), + ]; + let shape_dist = WeightedIndex::new(eyes.iter().map(|v| v.1))?; - // basic layout is 2000x1000 box w/ 50 padding + + + // basic layout is 2000x2000 box w/ 50 padding // 2:1 for each x,y // left eye is top left @@ -283,60 +290,31 @@ pub fn smiley(id: Uuid) -> Result { // x = 50 + 500 + xoffset // y = 50 + 750 + yoffset - write!(&mut svg, "")?; + write!(&mut svg, "")?; - let n_points = rng.gen_range(3, 5); - let left_eye_path: String = std::iter::repeat(()) - .map(|()| { - let x = 50 + (rng.gen_range(0, 5) * 100); - let y = 50 + (rng.gen_range(0, 5) * 50); - format!("{} {}", x, y) - }) - .take(n_points) - .collect::>() - .join(","); + let left_eye_path = "50 800, 300 550, 550 800"; // left eye write!(&mut svg, - "", + "", left_eye_path)?; - let n_points = rng.gen_range(3, 5); - let right_eye_path: String = std::iter::repeat(()) - .map(|()| { - let x = 50 + 1500 + (rng.gen_range(0, 5) * 100); - let y = 50 + (rng.gen_range(0, 5) * 50); - format!("{} {}", x, y) - }) - .take(n_points) - .collect::>() - .join(","); - + let right_eye_path = "1550 800, 1800 550, 2050 800"; // right eye write!(&mut svg, - "", + "", right_eye_path)?; - let n_points = rng.gen_range(3, 5); - let mouth_path: String = std::iter::repeat(()) - .map(|()| { - let x = 50 + 500 + (rng.gen_range(0, 10) * 100); - let y = 50 + 750 + (rng.gen_range(0, 5) * 50); - format!("{} {}", x, y) - }) - .take(n_points) - .collect::>() - .join(","); - + let mouth_path = "550 1550, 1550 1550"; // mouth write!(&mut svg, - "", + "", mouth_path)?; write!(&mut svg, "")?; + // let dest = format!("/var/lib/mnml/face.svg"); let dest = format!("/var/lib/mnml/public/imgs/{}.svg", id); - println!("/var/lib/mnml/public/imgs/{}.svg", id); let mut file = File::create(dest)?; file.write_all(&svg)?;