2D Graphics VB.Net Tutorial

Imports System.Drawing
Imports System.Drawing.Drawing2D
Imports System.Windows.Forms
public class TransformLinearGradientBrush
   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 LinearGradientBrush object
        Dim rect As New Rectangle(20, 20, 200, 100)
        Dim lgBrush As New LinearGradientBrush(rect, Color.Red, Color.Green, 0.0F, True)
        Dim ptsArray As Point() = {New Point(20, 50), New Point(200, 50), New Point(20, 100)}
        Dim M As New Matrix(rect, ptsArray)
        ' Multiply transform
        lgBrush.MultiplyTransform(M, MatrixOrder.Prepend)
        ' Rotate transform
        lgBrush.RotateTransform(45.0F, MatrixOrder.Prepend)
        ' Scale Transform
        lgBrush.ScaleTransform(2, 1, MatrixOrder.Prepend)
        ' Draw a rectangle after transformation
        g.FillRectangle(lgBrush, 0, 0, 200, 100)
        ' Reset transform.
        lgBrush.ResetTransform()
        ' Draw a rectangle after Reset transform
        g.FillRectangle(lgBrush, 220, 0, 200, 100)
        ' Dispose
        lgBrush.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