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)
Dim path As New GraphicsPath
Dim rect As New Rectangle(20, 20, 200, 200)
path.AddRectangle(rect)
Dim pgBrush As New PathGradientBrush(path.PathPoints)
pgBrush.CenterColor = Color.Green
pgBrush.SurroundColors = New Color() {Color.Blue}
Dim M As New Matrix
M.Translate(20.0F, 10.0F, MatrixOrder.Prepend)
M.Rotate(10.0F, MatrixOrder.Prepend)
M.Scale(2, 1, MatrixOrder.Prepend)
M.Shear(0.05F, 0.03F, MatrixOrder.Prepend)
pgBrush.MultiplyTransform(M)
g.FillRectangle(pgBrush, 20, 100, 400, 400)
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
|