c# drawing example - How to fill a polygon

Fill a polygon using PathGradientBrush
FillPolygonWithPathGradientBrush.aspx

<%@ Page Language="C#" AutoEventWireup="true" %>
<%@ Import Namespace="System.Drawing" %>
<%@ Import Namespace="System.Drawing.Text" %>
<%@ Import Namespace="System.Drawing.Drawing2D" %>
<%@ Import Namespace="System.Drawing.Imaging" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
    protected void Button1_Click(object sender, System.EventArgs e)
    {
        Bitmap bmp = new Bitmap(600,250);
        Graphics g = Graphics.FromImage(bmp);

        g.Clear(Color.Beige);

        GraphicsPath gPath = new GraphicsPath();
        Rectangle rect = new Rectangle(0, 0, 500, 250);
        gPath.AddRectangle(rect);

        PathGradientBrush pathGradientBrush = new PathGradientBrush(gPath);

        pathGradientBrush.CenterColor = Color.DeepPink;

        Color[] colors = { Color.FromArgb(255, 255, 225, 225) };
        pathGradientBrush.SurroundColors = colors;

        Point p1 = new Point(10, 150);
        Point p2 = new Point(225, 75);
        Point p3 = new Point(200, 225);
        Point p4 = new Point(300, 65);
        Point p5 = new Point(400, 150);
        Point p6 = new Point(450, 95);
        Point p7 = new Point(250, 150);

        Point[] pointArray = { p1, p2, p3, p4, p5, p6, p7 };

        g.FillPolygon(pathGradientBrush, pointArray);

        String path = Server.MapPath("~/Image/FillPolygonWithPathGradientBrush.jpg");
        bmp.Save(path,ImageFormat.Jpeg);

        Image1.ImageUrl = "~/Image/FillPolygonWithPathGradientBrush.jpg";
        g.Dispose();
        bmp.Dispose();
    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title>c# gdi+ PathGradientBrush - how to fill a polygon</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <h2 style="color:MidnightBlue; font-style:italic;">
            How to fill a polygon using path gradient brush
            <br />System.Drawing.Drawing2D.PathGradientBrush
            <br />.NET GDI+ Graphics
        </h2>
        <hr width="600" align="left" color="DarkBlue" />
        <asp:Image
             ID="Image1"
             runat="server"
             />
        <br />
        <asp:Button 
            ID="Button1"
            runat="server"
            OnClick="Button1_Click"
            Text="Fill A Polygon With PathGradientBrush"
            Height="45"
            Font-Bold="true"
            ForeColor="DarkBlue"
            />
    </div>
    </form>
</body>
</html>
More asp.net examples