pub fn draw_antialiased_polygon<I, B>(
    image: &I,
    poly: &[Point<i32>],
    color: I::Pixel,
    blend: B,
) -> Image<I::Pixel>
where
    I: GenericImage,
    B: Fn(I::Pixel, I::Pixel, f32) -> I::Pixel,
{
    draw_polygon_with(image, poly, color, |image, start, end, color| {
        draw_antialiased_line_segment_mut(
            image,
            (start.0 as i32, start.1 as i32),
            (end.0 as i32, end.1 as i32),
            color,
            &blend,
        )
    })
}
Draws an anti-aliased polygon polygon and its contents on an image.

Draws as much of a filled polygon as lies within image bounds. The provided
list of points can be an open or closed path, i.e. if the first and last points are
not equal, the path will be closed anyway.
An implicit edge will be added from the last to the first point if they are not equal.

The parameters of blend are (line color, original color, line weight).
Consider using [`interpolate()`](crate::pixelops::interpolate) for blend.
src/drawing/polygon.rs