A library for generating colorful mosaic images with various geometrical patterns.
To create mosaic simply:
Then this mosaic can be painted with any color or gradient.
Next code creates logo of this project (the one you can see above).
```rust use palette::{Gradient, LinSrgb}; use starrymosaic::{coloringmethod::RadialGradient, Mosaic, MosaicBuilder, Vector};
let mosaic = MosaicBuilder::default() .setregularpolygonshape(13) .setimagesize(800, 800) .setcenter(Vector::new(400.0, 400.0)) .setscale(0.75) .buildstar() .unwrap();
let gradient = vec![ (0.125, LinSrgb::new(1.0f64, 0.0, 0.0)), (0.275, LinSrgb::new(1.0f64, 0.5, 0.0)), (0.425, LinSrgb::new(1.0f64, 1.0, 0.0)), (0.575, LinSrgb::new(0.0f64, 1.0, 0.0)), (0.725, LinSrgb::new(0.0f64, 0.75, 1.0)), (0.875, LinSrgb::new(0.0f64, 0.0, 1.0)), ]; let mosaic_image = mosaic.draw(RadialGradient::new( gradient, Vector::new(540.0, 320.0), 20.0, Vector::new(400.0, 400.0), 360.0, 0.25 ));
let saveresult = mosaicimage.save("target/logo.png"); assert!(saveresult.isok()); ```