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
|