logo-generator/src/routes/favicon.rs
Dorian Zedler 5ca0021533
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
Fix: favicon
2023-03-15 12:34:57 +01:00

26 lines
770 B
Rust

use axum::{routing::get, Router};
use cairo::{Context, Format, ImageSurface};
use crate::{polygon, SharedState};
async fn handler() -> impl axum::response::IntoResponse {
let surface = ImageSurface::create(Format::ARgb32, 100, 100).unwrap();
let context = Context::new(&surface).unwrap();
context.set_source_rgba(0.0, 0.0, 0.0, 0.0);
context.fill().unwrap();
polygon::draw_polygon_of_segmented_polygons((50.0, 50.0), 37.0, 16.75, 6, &context).unwrap();
let mut data: Vec<u8> = Vec::new();
surface.write_to_png(&mut data).unwrap();
(
axum::response::AppendHeaders([(axum::http::header::CONTENT_TYPE, "image/png")]),
data,
)
}
pub fn routes() -> Router<SharedState> {
Router::new().route("/", get(handler))
}