1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
|
Imports System.Drawing.Drawing2D
Public Class Form1
'The user's ellipses.
Private UnRectA As New Rectangle(50, 70, 350, 200)
Private UnRectB As New Rectangle(140, 160, 300, 150)
Private Sub PictureBox1_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles PictureBox1.Paint
'Draw smoothly.
Dim gr As Graphics = e.Graphics
gr.SmoothingMode = SmoothingMode.AntiAlias
'Raz
gr.ResetTransform()
Dim lecon1 As GraphicsContainer = gr.BeginContainer 'debut container1
'Envoi à l'origine des coords
gr.TranslateTransform(-UnRectA.X, -UnRectA.Y, MatrixOrder.Append)
'Scale factor de 500/2000=0.25
Dim scaleX As Single = CSng(500 / 2000)
Dim ScaleY As Single = CSng(500 / 2000)
gr.ScaleTransform(scaleX, ScaleY, MatrixOrder.Append)
'Renvoi à son origine normale...
gr.TranslateTransform(UnRectA.X, UnRectA.Y, MatrixOrder.Append)
'Dessin en vert
gr.DrawRectangle(Pens.Green, UnRectA)
gr.EndContainer(lecon1) 'fin container1
Dim lecon2 As GraphicsContainer = gr.BeginContainer 'debut container1
gr.TranslateTransform(-UnRectB.X, -UnRectB.Y, MatrixOrder.Append)
'Scale factor de 500/1000=0.50
scaleX = 0.5
ScaleY = 0.5
gr.ScaleTransform(scaleX, ScaleY, MatrixOrder.Append)
'Rnvoi à son origine normale...
gr.TranslateTransform(UnRectB.X, UnRectB.Y, MatrixOrder.Append)
'Dessin
gr.DrawRectangle(Pens.Magenta, UnRectB)
gr.EndContainer(lecon2) 'fin container2
'RECTANGLE ORIGINAL A
gr.DrawRectangle(Pens.Red, UnRectA)
'RECTANGLE ORIGINAL B
gr.DrawRectangle(Pens.Blue, UnRectB)
End Sub
End Class |
Partager