Mega Code Archive

 
Categories / VB.Net Tutorial / 2D Graphics
 

Transform PathGradientBrush

Imports System.Drawing Imports System.Drawing.Drawing2D Imports System.Windows.Forms public class TransformPathGradientBrush    public Shared Sub Main         Application.Run(New Form1)    End Sub End class public class Form1   Inherits System.Windows.Forms.Form   Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs)         Dim g As Graphics = Me.CreateGraphics()         g.Clear(Me.BackColor)         ' Create a GraphicsPath object         Dim path As New GraphicsPath         ' Create a rectangle and add it to path         Dim rect As New Rectangle(20, 20, 200, 200)         path.AddRectangle(rect)         ' Create a path gradient brush         Dim pgBrush As New PathGradientBrush(path.PathPoints)         ' Set its center and surrounding colors         pgBrush.CenterColor = Color.Green         pgBrush.SurroundColors = New Color() {Color.Blue}         ' Create matrix         Dim M As New Matrix         ' Translate         M.Translate(20.0F, 10.0F, MatrixOrder.Prepend)         ' Rotate         M.Rotate(10.0F, MatrixOrder.Prepend)         ' Scale         M.Scale(2, 1, MatrixOrder.Prepend)         ' shear         M.Shear(0.05F, 0.03F, MatrixOrder.Prepend)         ' Apply matrix to the brush         pgBrush.MultiplyTransform(M)         ' Use brush after transformation         ' to fill a rectangle         g.FillRectangle(pgBrush, 20, 100, 400, 400)         ' Dispose         pgBrush.Dispose()         g.Dispose()   End Sub   Public Sub New()         MyBase.New()     Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)     Me.ClientSize = New System.Drawing.Size(292, 273)     Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen   End Sub End Class