<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.vbex.ru/index.php?action=history&amp;feed=atom&amp;title=VB.Net%2F2D%2FScale</id>
		<title>VB.Net/2D/Scale - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.vbex.ru/index.php?action=history&amp;feed=atom&amp;title=VB.Net%2F2D%2FScale"/>
		<link rel="alternate" type="text/html" href="http://www.vbex.ru/index.php?title=VB.Net/2D/Scale&amp;action=history"/>
		<updated>2026-04-05T08:57:27Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.vbex.ru/index.php?title=VB.Net/2D/Scale&amp;diff=124&amp;oldid=prev</id>
		<title> в 16:40, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.vbex.ru/index.php?title=VB.Net/2D/Scale&amp;diff=124&amp;oldid=prev"/>
				<updated>2010-05-26T16:40:06Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 16:40, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://www.vbex.ru/index.php?title=VB.Net/2D/Scale&amp;diff=125&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.vbex.ru/index.php?title=VB.Net/2D/Scale&amp;diff=125&amp;oldid=prev"/>
				<updated>2010-05-26T12:41:55Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Matrix Scale Demo==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;&lt;br /&gt;
Imports System&lt;br /&gt;
Imports System.ruponentModel&lt;br /&gt;
Imports System.Windows.Forms&lt;br /&gt;
Imports System.Data&lt;br /&gt;
Imports System.Configuration&lt;br /&gt;
Imports System.Drawing&lt;br /&gt;
Imports System.Drawing.Drawing2D&lt;br /&gt;
Imports System.Drawing.Text&lt;br /&gt;
Imports System.Globalization&lt;br /&gt;
Imports System.Text&lt;br /&gt;
Imports System.Collections&lt;br /&gt;
Public Class MainClass&lt;br /&gt;
    &lt;br /&gt;
    Shared Sub Main()&lt;br /&gt;
        &lt;br /&gt;
        Dim myform As Form = New MatrixMarginsForm()&lt;br /&gt;
        Application.Run(myform)&lt;br /&gt;
    End Sub&lt;br /&gt;
End Class&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Public Class MatrixMarginsForm&lt;br /&gt;
    Inherits System.Windows.Forms.Form&lt;br /&gt;
#Region &amp;quot; Windows Form Designer generated code &amp;quot;&lt;br /&gt;
    Public Sub New()&lt;br /&gt;
        MyBase.New()&lt;br /&gt;
        &amp;quot;This call is required by the Windows Form Designer.&lt;br /&gt;
        InitializeComponent()&lt;br /&gt;
        &amp;quot;Add any initialization after the InitializeComponent() call&lt;br /&gt;
    End Sub&lt;br /&gt;
    &amp;quot;Form overrides dispose to clean up the component list.&lt;br /&gt;
    Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)&lt;br /&gt;
        If disposing Then&lt;br /&gt;
            If Not (components Is Nothing) Then&lt;br /&gt;
                components.Dispose()&lt;br /&gt;
            End If&lt;br /&gt;
        End If&lt;br /&gt;
        MyBase.Dispose(disposing)&lt;br /&gt;
    End Sub&lt;br /&gt;
    &amp;quot;Required by the Windows Form Designer&lt;br /&gt;
    Private components As System.ruponentModel.IContainer&lt;br /&gt;
    &amp;quot;NOTE: The following procedure is required by the Windows Form Designer&lt;br /&gt;
    &amp;quot;It can be modified using the Windows Form Designer.  &lt;br /&gt;
    &amp;quot;Do not modify it using the code editor.&lt;br /&gt;
    Friend WithEvents statusBar1 As System.Windows.Forms.StatusBar&lt;br /&gt;
    &amp;lt;System.Diagnostics.DebuggerStepThrough()&amp;gt; Private Sub InitializeComponent()&lt;br /&gt;
        Me.statusBar1 = New System.Windows.Forms.StatusBar()&lt;br /&gt;
        Me.SuspendLayout()&lt;br /&gt;
        &amp;quot;&lt;br /&gt;
        &amp;quot;statusBar1&lt;br /&gt;
        &amp;quot;&lt;br /&gt;
        Me.statusBar1.Location = New System.Drawing.Point(0, 244)&lt;br /&gt;
        Me.statusBar1.Name = &amp;quot;statusBar1&amp;quot;&lt;br /&gt;
        Me.statusBar1.Size = New System.Drawing.Size(292, 22)&lt;br /&gt;
        Me.statusBar1.TabIndex = 1&lt;br /&gt;
        Me.statusBar1.Text = &amp;quot;statusBar1&amp;quot;&lt;br /&gt;
        &amp;quot;&lt;br /&gt;
        &amp;quot;MatrixMarginsForm&lt;br /&gt;
        &amp;quot;&lt;br /&gt;
        Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)&lt;br /&gt;
        Me.ClientSize = New System.Drawing.Size(292, 266)&lt;br /&gt;
        Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.statusBar1})&lt;br /&gt;
        Me.Name = &amp;quot;MatrixMarginsForm&amp;quot;&lt;br /&gt;
        Me.Text = &amp;quot;MatrixMarginsForm&amp;quot;&lt;br /&gt;
        Me.ResumeLayout(False)&lt;br /&gt;
    End Sub&lt;br /&gt;
#End Region&lt;br /&gt;
&lt;br /&gt;
    Sub ScaleExample(ByVal e As PaintEventArgs)&lt;br /&gt;
        Dim myPen As Pen = New Pen(Color.Blue, 1)&lt;br /&gt;
        Dim myPen2 As Pen = New Pen(Color.Red, 1)&lt;br /&gt;
        e.Graphics.DrawRectangle(myPen, 5, 5, 10, 10)&lt;br /&gt;
        Dim myMatrix As Matrix = New Matrix()&lt;br /&gt;
        myMatrix.Scale(3, 2, MatrixOrder.Append)&lt;br /&gt;
        e.Graphics.Transform = myMatrix&lt;br /&gt;
        e.Graphics.DrawRectangle(myPen2, 5, 5, 10, 10)&lt;br /&gt;
    End Sub&lt;br /&gt;
    Sub Margins_Paint(ByVal sender As Object, ByVal e As PaintEventArgs) Handles MyBase.Paint&lt;br /&gt;
        ScaleExample(e)&lt;br /&gt;
    End Sub&lt;br /&gt;
End Class&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Scale:/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;&lt;br /&gt;
Imports System&lt;br /&gt;
Imports System.ruponentModel&lt;br /&gt;
Imports System.Windows.Forms&lt;br /&gt;
Imports System.Data&lt;br /&gt;
Imports System.Configuration&lt;br /&gt;
Imports System.Drawing&lt;br /&gt;
Imports System.Drawing.Drawing2D&lt;br /&gt;
Imports System.Drawing.Text&lt;br /&gt;
Imports System.Globalization&lt;br /&gt;
Imports System.Text&lt;br /&gt;
Imports System.Collections&lt;br /&gt;
Public Class MainClass&lt;br /&gt;
    &lt;br /&gt;
    Shared Sub Main()&lt;br /&gt;
        &lt;br /&gt;
        Dim myform As Form = New ScalingFontsForm()&lt;br /&gt;
        Application.Run(myform)&lt;br /&gt;
    End Sub&lt;br /&gt;
End Class&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Public Class ScalingFontsForm&lt;br /&gt;
    Inherits System.Windows.Forms.Form&lt;br /&gt;
#Region &amp;quot; Windows Form Designer generated code &amp;quot;&lt;br /&gt;
    Public Sub New()&lt;br /&gt;
        MyBase.New()&lt;br /&gt;
        &amp;quot;This call is required by the Windows Form Designer.&lt;br /&gt;
        InitializeComponent()&lt;br /&gt;
        &amp;quot;Add any initialization after the InitializeComponent() call&lt;br /&gt;
    End Sub&lt;br /&gt;
    &amp;quot;Form overrides dispose to clean up the component list.&lt;br /&gt;
    Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)&lt;br /&gt;
        If disposing Then&lt;br /&gt;
            If Not (components Is Nothing) Then&lt;br /&gt;
                components.Dispose()&lt;br /&gt;
            End If&lt;br /&gt;
        End If&lt;br /&gt;
        MyBase.Dispose(disposing)&lt;br /&gt;
    End Sub&lt;br /&gt;
    &amp;quot;Required by the Windows Form Designer&lt;br /&gt;
    Private components As System.ruponentModel.IContainer&lt;br /&gt;
    &amp;quot;NOTE: The following procedure is required by the Windows Form Designer&lt;br /&gt;
    &amp;quot;It can be modified using the Windows Form Designer.  &lt;br /&gt;
    &amp;quot;Do not modify it using the code editor.&lt;br /&gt;
    &amp;lt;System.Diagnostics.DebuggerStepThrough()&amp;gt; Private Sub InitializeComponent()&lt;br /&gt;
        &amp;quot;&lt;br /&gt;
        &amp;quot;ScalingFontsForm&lt;br /&gt;
        &amp;quot;&lt;br /&gt;
        Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)&lt;br /&gt;
        Me.ClientSize = New System.Drawing.Size(512, 70)&lt;br /&gt;
        Me.Name = &amp;quot;ScalingFontsForm&amp;quot;&lt;br /&gt;
        Me.Text = &amp;quot;ScalingFontsForm&amp;quot;&lt;br /&gt;
    End Sub&lt;br /&gt;
#End Region&lt;br /&gt;
&lt;br /&gt;
    Sub ScalingFontsForm_Paint(ByVal sender As Object, ByVal e As PaintEventArgs) Handles MyBase.Paint&lt;br /&gt;
        Dim g As Graphics = e.Graphics&lt;br /&gt;
        Dim x As Integer = 0&lt;br /&gt;
        Dim y As Integer = 0&lt;br /&gt;
        Dim width As Integer = Me.ClientRectangle.Width&lt;br /&gt;
        Dim height As Integer = Me.ClientRectangle.Height&lt;br /&gt;
        Dim format As StringFormat = New StringFormat()&lt;br /&gt;
        format.Alignment = StringAlignment.Center&lt;br /&gt;
        format.LineAlignment = StringAlignment.Center&lt;br /&gt;
        Dim matrix As Matrix = New Matrix()&lt;br /&gt;
        g.ResetTransform()&lt;br /&gt;
        g.DrawRectangle(Pens.Black, x, y, width, height)&lt;br /&gt;
        matrix.Reset()&lt;br /&gt;
        matrix.Scale(1, 1)&lt;br /&gt;
        g.Transform = matrix&lt;br /&gt;
        g.DrawString(&amp;quot;Scale(1,1)&amp;quot;, Me.Font, Brushes.Black, New RectangleF(x, y, width, height), format)&lt;br /&gt;
        x = IIf(x &amp;gt; Me.ClientRectangle.Width - 2 * width, 0, x + width)&lt;br /&gt;
        y = IIf(x = 0, y + height, y)&lt;br /&gt;
    End Sub&lt;br /&gt;
End Class&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Scale:/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;&lt;br /&gt;
Imports System&lt;br /&gt;
Imports System.ruponentModel&lt;br /&gt;
Imports System.Windows.Forms&lt;br /&gt;
Imports System.Data&lt;br /&gt;
Imports System.Configuration&lt;br /&gt;
Imports System.Drawing&lt;br /&gt;
Imports System.Drawing.Drawing2D&lt;br /&gt;
Imports System.Drawing.Text&lt;br /&gt;
Imports System.Globalization&lt;br /&gt;
Imports System.Text&lt;br /&gt;
Imports System.Collections&lt;br /&gt;
Public Class MainClass&lt;br /&gt;
    &lt;br /&gt;
    Shared Sub Main()&lt;br /&gt;
        &lt;br /&gt;
        Dim myform As Form = New ScalingFontsForm()&lt;br /&gt;
        Application.Run(myform)&lt;br /&gt;
    End Sub&lt;br /&gt;
End Class&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Public Class ScalingFontsForm&lt;br /&gt;
    Inherits System.Windows.Forms.Form&lt;br /&gt;
#Region &amp;quot; Windows Form Designer generated code &amp;quot;&lt;br /&gt;
    Public Sub New()&lt;br /&gt;
        MyBase.New()&lt;br /&gt;
        &amp;quot;This call is required by the Windows Form Designer.&lt;br /&gt;
        InitializeComponent()&lt;br /&gt;
        &amp;quot;Add any initialization after the InitializeComponent() call&lt;br /&gt;
    End Sub&lt;br /&gt;
    &amp;quot;Form overrides dispose to clean up the component list.&lt;br /&gt;
    Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)&lt;br /&gt;
        If disposing Then&lt;br /&gt;
            If Not (components Is Nothing) Then&lt;br /&gt;
                components.Dispose()&lt;br /&gt;
            End If&lt;br /&gt;
        End If&lt;br /&gt;
        MyBase.Dispose(disposing)&lt;br /&gt;
    End Sub&lt;br /&gt;
    &amp;quot;Required by the Windows Form Designer&lt;br /&gt;
    Private components As System.ruponentModel.IContainer&lt;br /&gt;
    &amp;quot;NOTE: The following procedure is required by the Windows Form Designer&lt;br /&gt;
    &amp;quot;It can be modified using the Windows Form Designer.  &lt;br /&gt;
    &amp;quot;Do not modify it using the code editor.&lt;br /&gt;
    &amp;lt;System.Diagnostics.DebuggerStepThrough()&amp;gt; Private Sub InitializeComponent()&lt;br /&gt;
        &amp;quot;&lt;br /&gt;
        &amp;quot;ScalingFontsForm&lt;br /&gt;
        &amp;quot;&lt;br /&gt;
        Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)&lt;br /&gt;
        Me.ClientSize = New System.Drawing.Size(512, 70)&lt;br /&gt;
        Me.Name = &amp;quot;ScalingFontsForm&amp;quot;&lt;br /&gt;
        Me.Text = &amp;quot;ScalingFontsForm&amp;quot;&lt;br /&gt;
    End Sub&lt;br /&gt;
#End Region&lt;br /&gt;
&lt;br /&gt;
    Sub ScalingFontsForm_Paint(ByVal sender As Object, ByVal e As PaintEventArgs) Handles MyBase.Paint&lt;br /&gt;
        Dim g As Graphics = e.Graphics&lt;br /&gt;
        Dim x As Integer = 0&lt;br /&gt;
        Dim y As Integer = 0&lt;br /&gt;
        Dim width As Integer = Me.ClientRectangle.Width&lt;br /&gt;
        Dim height As Integer = Me.ClientRectangle.Height&lt;br /&gt;
        Dim format As StringFormat = New StringFormat()&lt;br /&gt;
        format.Alignment = StringAlignment.Center&lt;br /&gt;
        format.LineAlignment = StringAlignment.Center&lt;br /&gt;
        Dim matrix As Matrix = New Matrix()&lt;br /&gt;
        g.ResetTransform()&lt;br /&gt;
        g.DrawRectangle(Pens.Black, x, y, width, height)&lt;br /&gt;
        matrix.Reset()&lt;br /&gt;
        matrix.Scale(1, 3)&lt;br /&gt;
        g.Transform = matrix&lt;br /&gt;
        g.DrawString(&amp;quot;Scale(1,3)&amp;quot;, Me.Font, Brushes.Black, New RectangleF(x, y / 3.0F, width, height / 3.0F), format)&lt;br /&gt;
        x = IIf(x &amp;gt; Me.ClientRectangle.Width - 2 * width, 0, x + width)&lt;br /&gt;
        y = IIf(x = 0, y + height, y)&lt;br /&gt;
    End Sub&lt;br /&gt;
End Class&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Scale:/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;&lt;br /&gt;
Imports System&lt;br /&gt;
Imports System.ruponentModel&lt;br /&gt;
Imports System.Windows.Forms&lt;br /&gt;
Imports System.Data&lt;br /&gt;
Imports System.Configuration&lt;br /&gt;
Imports System.Drawing&lt;br /&gt;
Imports System.Drawing.Drawing2D&lt;br /&gt;
Imports System.Drawing.Text&lt;br /&gt;
Imports System.Globalization&lt;br /&gt;
Imports System.Text&lt;br /&gt;
Imports System.Collections&lt;br /&gt;
Public Class MainClass&lt;br /&gt;
    &lt;br /&gt;
    Shared Sub Main()&lt;br /&gt;
        &lt;br /&gt;
        Dim myform As Form = New ScalingFontsForm()&lt;br /&gt;
        Application.Run(myform)&lt;br /&gt;
    End Sub&lt;br /&gt;
End Class&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Public Class ScalingFontsForm&lt;br /&gt;
    Inherits System.Windows.Forms.Form&lt;br /&gt;
#Region &amp;quot; Windows Form Designer generated code &amp;quot;&lt;br /&gt;
    Public Sub New()&lt;br /&gt;
        MyBase.New()&lt;br /&gt;
        &amp;quot;This call is required by the Windows Form Designer.&lt;br /&gt;
        InitializeComponent()&lt;br /&gt;
        &amp;quot;Add any initialization after the InitializeComponent() call&lt;br /&gt;
    End Sub&lt;br /&gt;
    &amp;quot;Form overrides dispose to clean up the component list.&lt;br /&gt;
    Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)&lt;br /&gt;
        If disposing Then&lt;br /&gt;
            If Not (components Is Nothing) Then&lt;br /&gt;
                components.Dispose()&lt;br /&gt;
            End If&lt;br /&gt;
        End If&lt;br /&gt;
        MyBase.Dispose(disposing)&lt;br /&gt;
    End Sub&lt;br /&gt;
    &amp;quot;Required by the Windows Form Designer&lt;br /&gt;
    Private components As System.ruponentModel.IContainer&lt;br /&gt;
    &amp;quot;NOTE: The following procedure is required by the Windows Form Designer&lt;br /&gt;
    &amp;quot;It can be modified using the Windows Form Designer.  &lt;br /&gt;
    &amp;quot;Do not modify it using the code editor.&lt;br /&gt;
    &amp;lt;System.Diagnostics.DebuggerStepThrough()&amp;gt; Private Sub InitializeComponent()&lt;br /&gt;
        &amp;quot;&lt;br /&gt;
        &amp;quot;ScalingFontsForm&lt;br /&gt;
        &amp;quot;&lt;br /&gt;
        Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)&lt;br /&gt;
        Me.ClientSize = New System.Drawing.Size(512, 70)&lt;br /&gt;
        Me.Name = &amp;quot;ScalingFontsForm&amp;quot;&lt;br /&gt;
        Me.Text = &amp;quot;ScalingFontsForm&amp;quot;&lt;br /&gt;
    End Sub&lt;br /&gt;
#End Region&lt;br /&gt;
&lt;br /&gt;
    Sub ScalingFontsForm_Paint(ByVal sender As Object, ByVal e As PaintEventArgs) Handles MyBase.Paint&lt;br /&gt;
        Dim g As Graphics = e.Graphics&lt;br /&gt;
        Dim x As Integer = 0&lt;br /&gt;
        Dim y As Integer = 0&lt;br /&gt;
        Dim width As Integer = Me.ClientRectangle.Width&lt;br /&gt;
        Dim height As Integer = Me.ClientRectangle.Height&lt;br /&gt;
        Dim format As StringFormat = New StringFormat()&lt;br /&gt;
        format.Alignment = StringAlignment.Center&lt;br /&gt;
        format.LineAlignment = StringAlignment.Center&lt;br /&gt;
        Dim matrix As Matrix = New Matrix()&lt;br /&gt;
        g.ResetTransform()&lt;br /&gt;
        g.DrawRectangle(Pens.Black, x, y, width, height)&lt;br /&gt;
        matrix.Reset()&lt;br /&gt;
        matrix.Scale(3, 1)&lt;br /&gt;
        g.Transform = matrix&lt;br /&gt;
        g.DrawString(&amp;quot;Scale(3,1)&amp;quot;, Me.Font, Brushes.Black, New RectangleF(x / 3.0F, y, width / 3.0F, height), format)&lt;br /&gt;
        x = IIf(x &amp;gt; Me.ClientRectangle.Width - 2 * width, 0, x + width)&lt;br /&gt;
        y = IIf(x = 0, y + height, y)&lt;br /&gt;
    End Sub&lt;br /&gt;
End Class&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Scale by a factor of 30==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;&lt;br /&gt;
Imports System.Drawing.Drawing2D&lt;br /&gt;
Imports System&lt;br /&gt;
Imports System.Drawing&lt;br /&gt;
Imports System.Windows.Forms&lt;br /&gt;
&lt;br /&gt;
Public Class MainClass&lt;br /&gt;
   Shared Sub Main()&lt;br /&gt;
       Dim form1 As Form = New Form1()&lt;br /&gt;
       Application.Run(form1)&lt;br /&gt;
   End Sub &amp;quot; ValidationError&lt;br /&gt;
End Class&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Public Class Form1&lt;br /&gt;
    Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint&lt;br /&gt;
        &amp;quot; Scale by a factor of 30.&lt;br /&gt;
        e.Graphics.ScaleTransform(30, 30, MatrixOrder.Append)&lt;br /&gt;
        DrawArrow(e.Graphics, HatchStyle.Horizontal)&lt;br /&gt;
    End Sub&lt;br /&gt;
    &amp;quot; Draw an arrow outline.&lt;br /&gt;
    Private Sub DrawArrow(ByVal gr As Graphics, ByVal hatch_style As HatchStyle)&lt;br /&gt;
        Dim pts() As Point = { _&lt;br /&gt;
            New Point(0, 1), _&lt;br /&gt;
            New Point(2, 1), _&lt;br /&gt;
            New Point(2, 0), _&lt;br /&gt;
            New Point(4, 2), _&lt;br /&gt;
            New Point(2, 4), _&lt;br /&gt;
            New Point(2, 3), _&lt;br /&gt;
            New Point(0, 3) _&lt;br /&gt;
        }&lt;br /&gt;
        gr.FillPolygon(New HatchBrush(hatch_style, Color.Black, Color.White), pts)&lt;br /&gt;
        gr.DrawPolygon(New Pen(Color.Black, 0), pts)&lt;br /&gt;
    End Sub&lt;br /&gt;
End Class&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
&amp;lt;Global.Microsoft.VisualBasic.rupilerServices.DesignerGenerated()&amp;gt; _&lt;br /&gt;
Partial Public Class Form1&lt;br /&gt;
    Inherits System.Windows.Forms.Form&lt;br /&gt;
    &amp;quot;Form overrides dispose to clean up the component list.&lt;br /&gt;
    &amp;lt;System.Diagnostics.DebuggerNonUserCode()&amp;gt; _&lt;br /&gt;
    Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)&lt;br /&gt;
        If disposing AndAlso components IsNot Nothing Then&lt;br /&gt;
            components.Dispose()&lt;br /&gt;
        End If&lt;br /&gt;
        MyBase.Dispose(disposing)&lt;br /&gt;
    End Sub&lt;br /&gt;
    &amp;quot;Required by the Windows Form Designer&lt;br /&gt;
    Private components As System.ruponentModel.IContainer&lt;br /&gt;
    &amp;quot;NOTE: The following procedure is required by the Windows Form Designer&lt;br /&gt;
    &amp;quot;It can be modified using the Windows Form Designer.  &lt;br /&gt;
    &amp;quot;Do not modify it using the code editor.&lt;br /&gt;
    &amp;lt;System.Diagnostics.DebuggerStepThrough()&amp;gt; _&lt;br /&gt;
    Private Sub InitializeComponent()&lt;br /&gt;
        Me.SuspendLayout()&lt;br /&gt;
        &amp;quot;&lt;br /&gt;
        &amp;quot;Form1&lt;br /&gt;
        &amp;quot;&lt;br /&gt;
        Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)&lt;br /&gt;
        Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font&lt;br /&gt;
        Me.ClientSize = New System.Drawing.Size(292, 273)&lt;br /&gt;
        Me.Name = &amp;quot;Form1&amp;quot;&lt;br /&gt;
        Me.Text = &amp;quot;TransformArrow&amp;quot;&lt;br /&gt;
        Me.ResumeLayout(False)&lt;br /&gt;
    End Sub&lt;br /&gt;
End Class&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Scale by a factor of 30 and Rotate 30 degrees==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;&lt;br /&gt;
Imports System.Drawing.Drawing2D&lt;br /&gt;
Imports System&lt;br /&gt;
Imports System.Drawing&lt;br /&gt;
Imports System.Windows.Forms&lt;br /&gt;
&lt;br /&gt;
Public Class MainClass&lt;br /&gt;
   Shared Sub Main()&lt;br /&gt;
       Dim form1 As Form = New Form1()&lt;br /&gt;
       Application.Run(form1)&lt;br /&gt;
   End Sub &amp;quot; ValidationError&lt;br /&gt;
End Class&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Public Class Form1&lt;br /&gt;
    Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint&lt;br /&gt;
        e.Graphics.ScaleTransform(30, 30, MatrixOrder.Append)&lt;br /&gt;
        &amp;quot; Rotate 30 degrees.&lt;br /&gt;
        e.Graphics.RotateTransform(30, MatrixOrder.Append)&lt;br /&gt;
        DrawArrow(e.Graphics, HatchStyle.Cross)&lt;br /&gt;
    End Sub&lt;br /&gt;
    &amp;quot; Draw an arrow outline.&lt;br /&gt;
    Private Sub DrawArrow(ByVal gr As Graphics, ByVal hatch_style As HatchStyle)&lt;br /&gt;
        Dim pts() As Point = { _&lt;br /&gt;
            New Point(0, 1), _&lt;br /&gt;
            New Point(2, 1), _&lt;br /&gt;
            New Point(2, 0), _&lt;br /&gt;
            New Point(4, 2), _&lt;br /&gt;
            New Point(2, 4), _&lt;br /&gt;
            New Point(2, 3), _&lt;br /&gt;
            New Point(0, 3) _&lt;br /&gt;
        }&lt;br /&gt;
        gr.FillPolygon(New HatchBrush(hatch_style, Color.Black, Color.White), pts)&lt;br /&gt;
        gr.DrawPolygon(New Pen(Color.Black, 0), pts)&lt;br /&gt;
    End Sub&lt;br /&gt;
End Class&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
&amp;lt;Global.Microsoft.VisualBasic.rupilerServices.DesignerGenerated()&amp;gt; _&lt;br /&gt;
Partial Public Class Form1&lt;br /&gt;
    Inherits System.Windows.Forms.Form&lt;br /&gt;
    &amp;quot;Form overrides dispose to clean up the component list.&lt;br /&gt;
    &amp;lt;System.Diagnostics.DebuggerNonUserCode()&amp;gt; _&lt;br /&gt;
    Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)&lt;br /&gt;
        If disposing AndAlso components IsNot Nothing Then&lt;br /&gt;
            components.Dispose()&lt;br /&gt;
        End If&lt;br /&gt;
        MyBase.Dispose(disposing)&lt;br /&gt;
    End Sub&lt;br /&gt;
    &amp;quot;Required by the Windows Form Designer&lt;br /&gt;
    Private components As System.ruponentModel.IContainer&lt;br /&gt;
    &amp;quot;NOTE: The following procedure is required by the Windows Form Designer&lt;br /&gt;
    &amp;quot;It can be modified using the Windows Form Designer.  &lt;br /&gt;
    &amp;quot;Do not modify it using the code editor.&lt;br /&gt;
    &amp;lt;System.Diagnostics.DebuggerStepThrough()&amp;gt; _&lt;br /&gt;
    Private Sub InitializeComponent()&lt;br /&gt;
        Me.SuspendLayout()&lt;br /&gt;
        &amp;quot;&lt;br /&gt;
        &amp;quot;Form1&lt;br /&gt;
        &amp;quot;&lt;br /&gt;
        Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)&lt;br /&gt;
        Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font&lt;br /&gt;
        Me.ClientSize = New System.Drawing.Size(292, 273)&lt;br /&gt;
        Me.Name = &amp;quot;Form1&amp;quot;&lt;br /&gt;
        Me.Text = &amp;quot;TransformArrow&amp;quot;&lt;br /&gt;
        Me.ResumeLayout(False)&lt;br /&gt;
    End Sub&lt;br /&gt;
End Class&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Scale by a factor of 30 and Translate 150 horizontally and 60 vertically==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;&lt;br /&gt;
Imports System.Drawing.Drawing2D&lt;br /&gt;
Imports System&lt;br /&gt;
Imports System.Drawing&lt;br /&gt;
Imports System.Windows.Forms&lt;br /&gt;
&lt;br /&gt;
Public Class MainClass&lt;br /&gt;
   Shared Sub Main()&lt;br /&gt;
       Dim form1 As Form = New Form1()&lt;br /&gt;
       Application.Run(form1)&lt;br /&gt;
   End Sub &amp;quot; ValidationError&lt;br /&gt;
End Class&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Public Class Form1&lt;br /&gt;
    Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint&lt;br /&gt;
        &amp;quot; Translate 150 horizontally and 60 vertically.&lt;br /&gt;
        e.Graphics.ScaleTransform(30, 30, MatrixOrder.Append)&lt;br /&gt;
        e.Graphics.TranslateTransform(150, 60, MatrixOrder.Append)&lt;br /&gt;
        DrawArrow(e.Graphics, HatchStyle.Vertical)&lt;br /&gt;
    End Sub&lt;br /&gt;
    &amp;quot; Draw an arrow outline.&lt;br /&gt;
    Private Sub DrawArrow(ByVal gr As Graphics, ByVal hatch_style As HatchStyle)&lt;br /&gt;
        Dim pts() As Point = { _&lt;br /&gt;
            New Point(0, 1), _&lt;br /&gt;
            New Point(2, 1), _&lt;br /&gt;
            New Point(2, 0), _&lt;br /&gt;
            New Point(4, 2), _&lt;br /&gt;
            New Point(2, 4), _&lt;br /&gt;
            New Point(2, 3), _&lt;br /&gt;
            New Point(0, 3) _&lt;br /&gt;
        }&lt;br /&gt;
        gr.FillPolygon(New HatchBrush(hatch_style, Color.Black, Color.White), pts)&lt;br /&gt;
        gr.DrawPolygon(New Pen(Color.Black, 0), pts)&lt;br /&gt;
    End Sub&lt;br /&gt;
End Class&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
&amp;lt;Global.Microsoft.VisualBasic.rupilerServices.DesignerGenerated()&amp;gt; _&lt;br /&gt;
Partial Public Class Form1&lt;br /&gt;
    Inherits System.Windows.Forms.Form&lt;br /&gt;
    &amp;quot;Form overrides dispose to clean up the component list.&lt;br /&gt;
    &amp;lt;System.Diagnostics.DebuggerNonUserCode()&amp;gt; _&lt;br /&gt;
    Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)&lt;br /&gt;
        If disposing AndAlso components IsNot Nothing Then&lt;br /&gt;
            components.Dispose()&lt;br /&gt;
        End If&lt;br /&gt;
        MyBase.Dispose(disposing)&lt;br /&gt;
    End Sub&lt;br /&gt;
    &amp;quot;Required by the Windows Form Designer&lt;br /&gt;
    Private components As System.ruponentModel.IContainer&lt;br /&gt;
    &amp;quot;NOTE: The following procedure is required by the Windows Form Designer&lt;br /&gt;
    &amp;quot;It can be modified using the Windows Form Designer.  &lt;br /&gt;
    &amp;quot;Do not modify it using the code editor.&lt;br /&gt;
    &amp;lt;System.Diagnostics.DebuggerStepThrough()&amp;gt; _&lt;br /&gt;
    Private Sub InitializeComponent()&lt;br /&gt;
        Me.SuspendLayout()&lt;br /&gt;
        &amp;quot;&lt;br /&gt;
        &amp;quot;Form1&lt;br /&gt;
        &amp;quot;&lt;br /&gt;
        Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)&lt;br /&gt;
        Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font&lt;br /&gt;
        Me.ClientSize = New System.Drawing.Size(292, 273)&lt;br /&gt;
        Me.Name = &amp;quot;Form1&amp;quot;&lt;br /&gt;
        Me.Text = &amp;quot;TransformArrow&amp;quot;&lt;br /&gt;
        Me.ResumeLayout(False)&lt;br /&gt;
    End Sub&lt;br /&gt;
End Class&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Scale Transform Demo==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;&lt;br /&gt;
Imports System&lt;br /&gt;
Imports System.Windows.Forms&lt;br /&gt;
Imports System.Drawing.Text&lt;br /&gt;
Imports System.Drawing&lt;br /&gt;
Imports System.Drawing.Drawing2D&lt;br /&gt;
Public Class MainClass&lt;br /&gt;
    &lt;br /&gt;
    Shared Sub Main(ByVal args As String())&lt;br /&gt;
        Dim myform As Form = New Form1()&lt;br /&gt;
        Application.Run(myform)&lt;br /&gt;
    End Sub&lt;br /&gt;
End Class&lt;br /&gt;
&lt;br /&gt;
Public Class Form1&lt;br /&gt;
    Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint&lt;br /&gt;
        Dim device_rect As New Rectangle(50, 50, 150, 150)&lt;br /&gt;
        e.Graphics.DrawRectangle(Pens.Black, device_rect)&lt;br /&gt;
        Dim world_rect As New Rectangle(0, 0, 1, 1)&lt;br /&gt;
        MapRectangles(e.Graphics, world_rect, device_rect)&lt;br /&gt;
        Dim the_pen As New Pen(Color.Black, 0)&lt;br /&gt;
        e.Graphics.FillEllipse(Brushes.Yellow, 0, 0, 1, 1)              &amp;quot; Face.&lt;br /&gt;
        e.Graphics.DrawEllipse(the_pen, 0, 0, 10, 10)&lt;br /&gt;
    End Sub&lt;br /&gt;
&lt;br /&gt;
    &amp;quot; Map a world coordinate rectangle to a device coordinate rectangle.&lt;br /&gt;
    Private Sub MapRectangles(ByVal gr As Graphics, ByVal world_rect As Rectangle, ByVal device_rect As Rectangle)&lt;br /&gt;
        gr.ResetTransform()&lt;br /&gt;
        gr.ScaleTransform( _&lt;br /&gt;
            CSng(device_rect.Width / world_rect.Width), _&lt;br /&gt;
            CSng(device_rect.Height / world_rect.Height), _&lt;br /&gt;
            MatrixOrder.Append)&lt;br /&gt;
    End Sub&lt;br /&gt;
End Class&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Global.Microsoft.VisualBasic.rupilerServices.DesignerGenerated()&amp;gt; _&lt;br /&gt;
Partial Public Class Form1&lt;br /&gt;
    Inherits System.Windows.Forms.Form&lt;br /&gt;
    &amp;quot;Form overrides dispose to clean up the component list.&lt;br /&gt;
    &amp;lt;System.Diagnostics.DebuggerNonUserCode()&amp;gt; _&lt;br /&gt;
    Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)&lt;br /&gt;
        If disposing AndAlso components IsNot Nothing Then&lt;br /&gt;
            components.Dispose()&lt;br /&gt;
        End If&lt;br /&gt;
        MyBase.Dispose(disposing)&lt;br /&gt;
    End Sub&lt;br /&gt;
    &amp;quot;Required by the Windows Form Designer&lt;br /&gt;
    Private components As System.ruponentModel.IContainer&lt;br /&gt;
    &amp;quot;NOTE: The following procedure is required by the Windows Form Designer&lt;br /&gt;
    &amp;quot;It can be modified using the Windows Form Designer.  &lt;br /&gt;
    &amp;quot;Do not modify it using the code editor.&lt;br /&gt;
    &amp;lt;System.Diagnostics.DebuggerStepThrough()&amp;gt; _&lt;br /&gt;
    Private Sub InitializeComponent()&lt;br /&gt;
        Me.SuspendLayout()&lt;br /&gt;
        &amp;quot;&lt;br /&gt;
        &amp;quot;Form1&lt;br /&gt;
        &amp;quot;&lt;br /&gt;
        Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)&lt;br /&gt;
        Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font&lt;br /&gt;
        Me.ClientSize = New System.Drawing.Size(564, 209)&lt;br /&gt;
        Me.Name = &amp;quot;Form1&amp;quot;&lt;br /&gt;
        Me.Text = &amp;quot;Title&amp;quot;&lt;br /&gt;
        Me.ResumeLayout(False)&lt;br /&gt;
    End Sub&lt;br /&gt;
End Class&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Shear: 0,0==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;&lt;br /&gt;
Imports System&lt;br /&gt;
Imports System.ruponentModel&lt;br /&gt;
Imports System.Windows.Forms&lt;br /&gt;
Imports System.Data&lt;br /&gt;
Imports System.Configuration&lt;br /&gt;
Imports System.Drawing&lt;br /&gt;
Imports System.Drawing.Drawing2D&lt;br /&gt;
Imports System.Drawing.Text&lt;br /&gt;
Imports System.Globalization&lt;br /&gt;
Imports System.Text&lt;br /&gt;
Imports System.Collections&lt;br /&gt;
Public Class MainClass&lt;br /&gt;
    &lt;br /&gt;
    Shared Sub Main()&lt;br /&gt;
        &lt;br /&gt;
        Dim myform As Form = New ShearingForm()&lt;br /&gt;
        Application.Run(myform)&lt;br /&gt;
    End Sub&lt;br /&gt;
End Class&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Public Class ShearingForm&lt;br /&gt;
    Inherits System.Windows.Forms.Form&lt;br /&gt;
#Region &amp;quot; Windows Form Designer generated code &amp;quot;&lt;br /&gt;
    Public Sub New()&lt;br /&gt;
        MyBase.New()&lt;br /&gt;
        &amp;quot;This call is required by the Windows Form Designer.&lt;br /&gt;
        InitializeComponent()&lt;br /&gt;
        &amp;quot;Add any initialization after the InitializeComponent() call&lt;br /&gt;
    End Sub&lt;br /&gt;
    &amp;quot;Form overrides dispose to clean up the component list.&lt;br /&gt;
    Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)&lt;br /&gt;
        If disposing Then&lt;br /&gt;
            If Not (components Is Nothing) Then&lt;br /&gt;
                components.Dispose()&lt;br /&gt;
            End If&lt;br /&gt;
        End If&lt;br /&gt;
        MyBase.Dispose(disposing)&lt;br /&gt;
    End Sub&lt;br /&gt;
    &amp;quot;Required by the Windows Form Designer&lt;br /&gt;
    Private components As System.ruponentModel.IContainer&lt;br /&gt;
    &amp;quot;NOTE: The following procedure is required by the Windows Form Designer&lt;br /&gt;
    &amp;quot;It can be modified using the Windows Form Designer.  &lt;br /&gt;
    &amp;quot;Do not modify it using the code editor.&lt;br /&gt;
    &amp;lt;System.Diagnostics.DebuggerStepThrough()&amp;gt; Private Sub InitializeComponent()&lt;br /&gt;
        components = New System.ruponentModel.Container()&lt;br /&gt;
        Me.Text = &amp;quot;ShearingForm&amp;quot;&lt;br /&gt;
    End Sub&lt;br /&gt;
#End Region&lt;br /&gt;
&lt;br /&gt;
    Sub ShearingForm_Paint(ByVal sender As Object, ByVal e As PaintEventArgs) Handles MyBase.Paint&lt;br /&gt;
        Dim g As Graphics = e.Graphics&lt;br /&gt;
        Dim width As Single = 200&lt;br /&gt;
        Dim height As Single = 50&lt;br /&gt;
        Dim format As StringFormat = New StringFormat()&lt;br /&gt;
        format.Alignment = StringAlignment.Center&lt;br /&gt;
        format.LineAlignment = StringAlignment.Center&lt;br /&gt;
        Dim rect As RectangleF = New RectangleF(0, 0, width, height)&lt;br /&gt;
        Dim matrix As Matrix = New Matrix()&lt;br /&gt;
        matrix.Translate(0, 0)&lt;br /&gt;
        matrix.Shear(0.0F, 0.0F)&lt;br /&gt;
        g.Transform = matrix&lt;br /&gt;
        g.DrawString(&amp;quot;Shear(0,0)&amp;quot;, Me.Font, Brushes.Black, rect, format)&lt;br /&gt;
        g.DrawRectangle(Pens.Black, rect.X, rect.Y, rect.Width, rect.Height)&lt;br /&gt;
    End Sub&lt;br /&gt;
End Class&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>