E színátmenethez a PathGradientBrush osztályt kell felhasználnunk. A könnyebb megértés kedvéért készítsünk egy egyszerű példát, melyben csupán egy téglalapot festünk ki. A PathGradientBrush használatakor több színt is megadhatunk, melyek között a színátmenet végbemegy. A színek száma attól függ, hogy hány töréspont van a grafikánkban. Egy téglalap esetén ezt még egyszerű meghatározni, így könnyen létrehozhatunk egy tömböt, mely négy színt tárol.
Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint
Dim c() As Color = {Color.Red, Color.Violet, Color.Lime, Color.Blue}
Készítsük most el a GraphicsPath segítségével a szükséges grafikai objektumot, mely csupán egyetlen téglalapból áll, melynek mérete egyezik a Form aktuális méretével.
Dim g As Graphics = e.Graphics
Dim gp As New GraphicsPath()
gp.AddRectangle(Me.ClientRectangle)
A PathGradientBrush osztály létrehozásakor annak konstruktorában meg kell adnunk a GraphicsPath osztály imént létrehozott példányát.
Dim pgb As New PathGradientBrush(gp)
A kitöltő minta középpontja egy általunk meghatározott pont lehet, melyet a CenterPoint property-n keresztül tudunk megadni egy Point típusban. Ehhez a középponthoz egy tetszőleges színt is rendelhetünk a CenterColor property-n keresztül.
pgb.CenterPoint = centerPoint
pgb.CenterColor = Color.Yellow
A téglalap négy sarkához hozzárendelhetjük a fenti tömbben tárolt színeket a SurroundColors property-n keresztül.
Felhasználva a rajzoláskor az így létrehozott ecsetet, mindig öt szín között jön létre a színátmenet: a négy sarokpont és a középpont színe között arányosan.
g.FillRectangle(pgb, Me.ClientRectangle)
End Sub 'Form1_Paint