using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Drawing.Drawing2D;
namespace Beispiel_PathGradientBrush
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Paint(object sender, PaintEventArgs e)
{
Graphics gr = e.Graphics;
// Bestimme die Punkte des Polygons in einem Array
Point[] points = {new Point(75, 0), new Point(100, 50),
new Point(150, 50), new Point(112, 90),
new Point(150, 90), new Point(75, 110),
new Point(0, 90), new Point(37, 90),
new Point(0, 50), new Point(50, 50)};
// Verwende das Array von Punkten um einen Pfad zu konstruieren
GraphicsPath path = new GraphicsPath();
path.AddLines(points);
// Verwende den Pfad um einen PathGradientBrush zu konstruieren
PathGradientBrush pgbr = new PathGradientBrush(path);
// Setze die Farben der Punkte im Array.
Color[] colors = new Color[] {Color.FromArgb(255, 0, 0, 0), Color.FromArgb(255, 0, 255, 0),
Color.FromArgb(255, 0, 0, 255), Color.FromArgb(255, 255, 255, 0),
Color.FromArgb(255, 0, 0, 0), Color.FromArgb(255, 0, 255, 0),
Color.FromArgb(255, 0, 0, 255), Color.FromArgb(255, 255, 255, 0),
Color.FromArgb(255, 0, 0, 0), Color.FromArgb(255, 0, 255, 0)};
// Bestimme die Farbe Rot in der Mitte des Pfades
pgbr.CenterColor = Color.Red;
// Bestimme die umschließenden Farben mit den im Array festgelegten Farben
pgbr.SurroundColors = colors;
gr.FillPath(pgbr, path);
}
}
}