Mega Code Archive

 
Categories / VB.Net Tutorial / 2D Graphics
 

Global transformation

Imports System.Drawing Imports System.Drawing.Drawing2D Imports System.Windows.Forms public class GlobalTransformation    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 bluePen As New Pen(Color.Blue, 2)         Dim pt1 As New Point(10, 10)         Dim pt2 As New Point(20, 20)         Dim lnColors As Color() = {Color.Black, Color.Red}         Dim rect1 As New Rectangle(10, 10, 15, 15)         Dim lgBrush1 As New LinearGradientBrush(rect1, Color.Blue, Color.Green, LinearGradientMode.BackwardDiagonal)         Dim lgBrush As New LinearGradientBrush(pt1, pt2, Color.Red, Color.Green)         lgBrush.LinearColors = lnColors         lgBrush.GammaCorrection = True         g.FillRectangle(lgBrush, 150, 0, 50, 100)         g.DrawEllipse(bluePen, 0, 0, 100, 50)         g.FillEllipse(lgBrush1, 300, 0, 100, 100)         g.ScaleTransform(1, 0.5F)         g.TranslateTransform(50, 0, MatrixOrder.Append)         g.RotateTransform(30.0F, MatrixOrder.Append)         g.FillEllipse(lgBrush1, 300, 0, 100, 100)         g.RotateTransform(15.0F, MatrixOrder.Append)         g.FillRectangle(lgBrush, 150, 0, 50, 100)         g.RotateTransform(15.0F, MatrixOrder.Append)         g.DrawEllipse(bluePen, 0, 0, 100, 50)         lgBrush1.Dispose()         lgBrush.Dispose()         bluePen.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