Mega Code Archive

 
Categories / VB.Net by API / System Drawing Drawing2d
 

Matrix RotateAt

Imports System.Drawing Imports System.Drawing.Drawing2D Imports System.Windows.Forms public class MatrixRotateAt    public Shared Sub Main         Application.Run(New RotateForm)    End Sub End class Public Class RotateForm     Inherits System.Windows.Forms.Form     Public Sub New()         MyBase.New()         Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)         Me.ClientSize = New System.Drawing.Size(280, 214)         Me.Name = "RotateForm"         Me.Text = "RotateForm"     End Sub     Sub RotateForm_Paint(ByVal sender As Object, ByVal e As PaintEventArgs) Handles MyBase.Paint         Dim g As Graphics = e.Graphics         Dim x As Integer = 400         Dim y As Integer = 400         Dim width As Integer = 250         Dim height As Integer = 250         Dim textWidth As Single = g.MeasureString("00", Me.Font).Width         Dim length As Single = 250         Dim textRect As RectangleF = New RectangleF(x + length, y - Me.Font.GetHeight(g) / 2, length, textWidth)         Dim format As StringFormat = New StringFormat()         format.Alignment = StringAlignment.Near         format.LineAlignment = StringAlignment.Center         Dim i As Integer         For i = 0 To 360 Step 5             Dim matrix As Matrix = New Matrix()             matrix.RotateAt(i, New PointF(x, y))             g.Transform = matrix             g.DrawLine(Pens.Black, x, y, x + length, y)             g.DrawString(i.ToString(), Me.Font, Brushes.Black, textRect, format)         Next     End Sub End Class