Feedback

C# - Bilder und Logos mit dem PathGradientBrush erstellen

Veröffentlicht von am 18.03.2008
(4 Bewertungen)
Für Backgrounds oder Logos können Polygone mithilfe der PathGradientBrush-Klasse selbst
erstellt werden.
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);                        
        }
    }
}
Abgelegt unter PathGradientBrush, Polygone, GDI, Drawing.

2 Kommentare zum Snippet

Jürgen schrieb am 19.03.2008:
Entschuldigung, aber was steht denn dort? ich verstehe das nicht ;-)
Guter Code, ist bestimmt sehr brauchbar!
Gruß Jürgen!
Kurt Szymanski schrieb am 21.03.2008:
Freut' mich, das es Dir gefallen hat. Wünsche frohes Osterfest. KS
 

Logge dich ein, um hier zu kommentieren!

Ähnliche Snippets