Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.Controls.Add(New clsP With {.BackColor Color.Red, .Top 200, .Left = 200}) End Sub End Class Public Class clsP Inherits PictureBox Sub New() 'Me.Image = Image.FromFile("ton_image.jpg") Me.Image = My.Resources.Koala Me.SizeMode = PictureBoxSizeMode.StretchImage End Sub Private startMouseX As Integer Private startMouseY As Integer Private Sub clsP_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseDown startMouseX = e.X startMouseY = e.Y End Sub Private Sub clsP_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove 'Debug.Print(String.Format("x={0} y={1}", e.X, e.Y)) Form1.Label1.Text = String.Format("x={0} y={1}", e.X, e.Y) If e.Button = Windows.Forms.MouseButtons.Left Then Dim DeltaX As Integer = e.X - startMouseX Dim DeltaY As Integer = e.Y - startMouseY If Me.Width < 60 Then Me.Width = 60 If Me.Height < 60 Then Me.Height = 60 ' ================================================================================ ' POSITION 0 ' ================================================================================ If e.X < 10 And e.Y < 10 Then Cursor = Cursors.PanNW If DeltaX < 0 And DeltaY < 0 Then Me.Left = Me.Left + e.X Me.Width = Me.Width + Math.Abs(e.X) Me.Top = Me.Top + e.Y Me.Height = Me.Height + Math.Abs(e.Y) ElseIf DeltaX > 0 And DeltaY > 0 Then Me.Left = Me.Left + e.X Me.Width = Me.Width - Math.Abs(e.X) Me.Top = Me.Top + e.Y Me.Height = Me.Height - Math.Abs(e.Y) End If End If ' ================================================================================ ' POSITION 1 ' ================================================================================ If (e.X > 20 Or e.X < Me.Width - 20) And e.Y < 20 Then Cursor = Cursors.PanNorth If DeltaY < 0 Then Me.Top = Me.Top - Math.Abs(e.Y) Me.Height = Me.Height + Math.Abs(e.Y) ElseIf DeltaY > 0 Then Me.Top = Me.Top + Math.Abs(e.Y) Me.Height = Me.Height - Math.Abs(e.Y) End If End If ' ================================================================================ ' POSITION 2 ' ================================================================================ If e.X > Me.Width - 10 And e.Y < 10 Then Cursor = Cursors.PanNE If DeltaX > 0 And DeltaY < 0 Then Me.Width = e.X Me.Top = Me.Top + e.Y Me.Height = Me.Height + Math.Abs(e.Y) ElseIf DeltaX < 0 And DeltaY > 0 Then Me.Width = e.X Me.Top = Me.Top + e.Y Me.Height = Me.Height - Math.Abs(e.Y) End If End If ' ================================================================================ ' POSITION 3 ' ================================================================================ If e.X > Me.Width - 20 And (e.Y > 20 Or e.Y < Me.Height - 20) Then Cursor = Cursors.PanEast Me.Width = e.X End If ' ================================================================================ ' POSITION 4 ' ================================================================================ If e.X > Me.Width - 10 And e.Y > Me.Height - 10 Then Cursor = Cursors.PanSE Me.Width = e.X Me.Height = e.Y End If ' ================================================================================ ' POSITION 5 ' ================================================================================ If (e.X > 20 Or e.X < Me.Width - 20) And e.Y > Me.Height - 20 Then Cursor = Cursors.PanSouth Me.Height = e.Y End If ' ================================================================================ ' POSITION 6 ' ================================================================================ If e.X < 10 And e.Y > Me.Height - 10 Then Cursor = Cursors.PanSW If DeltaX < 0 And DeltaY > 0 Then Me.Left = Me.Left + e.X Me.Width = Me.Width + Math.Abs(e.X) Me.Height = e.Y ElseIf DeltaX > 0 And DeltaY < 0 Then Me.Left = Me.Left + e.X Me.Width = Me.Width - Math.Abs(e.X) Me.Height = e.Y End If End If ' ================================================================================ ' POSITION 7 ' ================================================================================ If e.X < 20 And (e.Y > 20 Or e.Y < Me.Height - 20) Then Cursor = Cursors.PanWest If DeltaX < 0 Then Me.Left = Me.Left - Math.Abs(e.X) Me.Width = Me.Width + Math.Abs(e.X) ElseIf DeltaX > 0 Then Me.Left = Me.Left + Math.Abs(e.X) Me.Width = Me.Width - Math.Abs(e.X) End If End If ' ================================================================================ End If startMouseX = e.X startMouseY = e.Y End Sub End Class
Option Strict On 'formulaire Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'ajout de 2 picturebox (images dans les ressources) 'je passe l'image dans le constructeur de la classe Me.Controls.Add(New clsP(My.Resources.Image1) With {.Bounds = New Rectangle(150, 150, 100, 100)}) Me.Controls.Add(New clsP(My.Resources.Image2) With {.Bounds = New Rectangle(0, 0, 100, 100)}) End Sub End Class '------------------------------------------------------------------ 'classe Public Class clsP Inherits PictureBox 'point utilisé pour le déplacement de l'image Dim delta As Point Sub New(ByVal pImage As Bitmap) Me.Image = CType(pImage, Image) Me.SizeMode = PictureBoxSizeMode.StretchImage End Sub Private Sub clsP_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseDown delta = New Point(e.X, e.Y) End Sub Private Sub clsP_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove Dim rect As Rectangle = Me.Bounds Dim nouv_rect As Rectangle 'calcul des rectangles des 8 zones de redimensionnement Dim Zones As List(Of Rectangle) = CalculeZones(rect) Cursor = Cursors.Hand 'pour chaque zone For Each z As Rectangle In Zones 'si il y a intersection avec la position de la souris If Rectangle.Intersect(New Rectangle(e.X - 1, e.Y - 1, 1, 2), z) <> Rectangle.Empty Then 'selon l'index du rectangle Select Case Zones.IndexOf(z) Case 0 Cursor = Cursors.PanNW 'on calcule les coordonnées du nouveau rectangle nouv_rect = New Rectangle(rect.X + e.X, rect.Y + e.Y, rect.Width - e.X, rect.Height - e.Y) Case 1 Cursor = Cursors.PanNorth nouv_rect = New Rectangle(rect.X, rect.Y + e.Y, rect.Width, rect.Height - e.Y) Case 2 Cursor = Cursors.PanNE nouv_rect = New Rectangle(rect.X, rect.Y + e.Y, rect.Width - (rect.Width - e.X), rect.Height - e.Y) Case 3 Cursor = Cursors.PanEast nouv_rect = New Rectangle(rect.X, rect.Y, rect.Width - (rect.Width - e.X), rect.Height) Case 4 Cursor = Cursors.PanSE nouv_rect = New Rectangle(rect.X, rect.Y, e.X, e.Y) Case 5 Cursor = Cursors.PanSouth nouv_rect = New Rectangle(rect.X, rect.Y, rect.Width, e.Y) Case 6 Cursor = Cursors.PanSW nouv_rect = New Rectangle(rect.X + e.X, rect.Y, rect.Width - e.X, rect.Height - (rect.Height - e.Y)) Case 7 Cursor = Cursors.PanWest nouv_rect = New Rectangle(rect.X + e.X, rect.Y, rect.Width - e.X, rect.Height) End Select End If Next If e.Button = Windows.Forms.MouseButtons.Left Then 'si le curseur est en forme de main on peut déplacer sans redimensionner If Cursor = Cursors.Hand Then Me.Bounds = New Rectangle(rect.X + e.X - delta.X, rect.Y + e.Y - delta.Y, rect.Width, rect.Height) Else 'sinon on applique les nouvelles bornes du picturebox Me.Bounds = nouv_rect End If End If End Sub 'fonction de calcul des zones de redimensionnement Private Function CalculeZones(ByVal rect As Rectangle) As List(Of Rectangle) Dim largeur_recoupe As Integer = Convert.ToInt32(rect.Width / 2) Dim hauteur_recoupe As Integer = Convert.ToInt32(rect.Height / 2) Dim largeur_recoupe_div As Integer = Convert.ToInt32(largeur_recoupe / 2) Dim hauteur_recoupe_div As Integer = Convert.ToInt32(hauteur_recoupe / 2) Dim rects As New List(Of Rectangle) rects.Add(New Rectangle(-largeur_recoupe_div, -hauteur_recoupe_div, largeur_recoupe, hauteur_recoupe)) rects.Add(New Rectangle(largeur_recoupe - largeur_recoupe_div, -hauteur_recoupe_div, largeur_recoupe, hauteur_recoupe)) rects.Add(New Rectangle(rect.Width - largeur_recoupe_div, -hauteur_recoupe_div, largeur_recoupe, hauteur_recoupe)) rects.Add(New Rectangle(rect.Width - largeur_recoupe_div, hauteur_recoupe - hauteur_recoupe_div, largeur_recoupe, hauteur_recoupe)) rects.Add(New Rectangle(rect.Width - largeur_recoupe_div, rect.Height - hauteur_recoupe_div, largeur_recoupe, hauteur_recoupe)) rects.Add(New Rectangle(largeur_recoupe - largeur_recoupe_div, rect.Height - hauteur_recoupe_div, largeur_recoupe, hauteur_recoupe)) rects.Add(New Rectangle(-largeur_recoupe_div, rect.Height - hauteur_recoupe_div, largeur_recoupe, hauteur_recoupe)) rects.Add(New Rectangle(-largeur_recoupe_div, hauteur_recoupe - hauteur_recoupe_div, largeur_recoupe, hauteur_recoupe)) Return rects End Function End Class
Dim Zones As List(Of Rectangle) = CalculeZones(rect, 10)
Private Function CalculeZones(ByVal rect As Rectangle, ByVal distance As Integer) As List(Of Rectangle) Dim largeur_recoupe As Integer = Convert.ToInt32(rect.Width / 2) Dim hauteur_recoupe As Integer = Convert.ToInt32(rect.Height / 2) Dim div As Integer = Convert.ToInt32(distance / 2) Dim rects As New List(Of Rectangle) rects.Add(New Rectangle(-div, -div, distance, distance)) rects.Add(New Rectangle(largeur_recoupe - div, -div, distance, distance)) rects.Add(New Rectangle(rect.Width - div, -div, distance, distance)) rects.Add(New Rectangle(rect.Width - div, hauteur_recoupe - div, distance, distance)) rects.Add(New Rectangle(rect.Width - div, rect.Height - div, distance, distance)) rects.Add(New Rectangle(largeur_recoupe - div, rect.Height - div, distance, distance)) rects.Add(New Rectangle(-div, rect.Height - div, distance, distance)) rects.Add(New Rectangle(-div, hauteur_recoupe - div, distance, distance)) Return rects End Function
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question1-----2-----3 | | | | 8 4 | | | | 7----6------5
Le pire pour moi, c'est pourquoi je peux le faire marcher sur la Form1 principale et pas dans une Class. Il y a forcement quelquechose que je ne saisis pas.
Private CurrMouse As Point Private Sub Me_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove ' MouseButton.Left must be CLICKED when moving the Picture If e.Button = MouseButtons.Left Then 'Dim CurrMouse As New Point(e.X, e.Y) CurrMouse = New Point(e.X, e.Y) CurrMouse.X = Math.Max(0, Math.Min(CurrMouse.X, Me.Width)) CurrMouse.Y = Math.Max(0, Math.Min(CurrMouse.Y, Me.Height)) CurrMouse = PointToScreen(CurrMouse) ' Current Picture Position in the container Client (Form) Dim pt As New Point pt.X = Me.Left pt.Y = Me.Top If cdtAllowMoving Then pt = e.Location pt.X = (pt.X + Me.Left) - CurrMousePict.X pt.Y = (pt.Y + Me.Top) - CurrMousePict.Y Me.Location = pt ElseIf cdtAllowResizing Then Dim DeltaX As Integer = CurrMouse.X - MousePos.X Dim DeltaY As Integer = CurrMouse.Y - MousePos.Y If ActiveAdornment <> -1 Then If Math.Abs(DeltaX) > 2 Or Math.Abs(DeltaY) > 2 Then Const minSize As Integer = 24 Select Case ActiveAdornment Case 0 ' Rectangle TOP-LEFT ' ================================================================================ ' X Me.Width = Me.Width - DeltaX If Me.Width > minSize Then pt.X = Me.Left + DeltaX Else Me.Width = minSize End If ' Y Me.Height = Me.Height - DeltaY If Me.Height > minSize Then pt.Y = Me.Top + DeltaY Else Me.Height = minSize End If Case 1 ' Rectangle TOP ' ================================================================================ ' Y Me.Height = Me.Height - DeltaY If Me.Height > minSize Then pt.Y = Me.Top + DeltaY Else Me.Height = minSize End If Case 2 ' Rectangle TOP-RIGHT ' ================================================================================ ' X Me.Width = Me.Width + DeltaX Me.Width = Math.Max(minSize, Me.Width) ' Y Me.Height = Me.Height - DeltaY If Me.Height > minSize Then pt.Y = Me.Top + DeltaY Else Me.Height = minSize End If Case 3 ' Rectangle RIGHT ' ================================================================================ ' X Me.Width = Me.Width + DeltaX Me.Width = Math.Max(minSize, Me.Width) Case 4 ' Rectangle BOTTOM-RIGHT ' ================================================================================ ' X Me.Width = Me.Width + DeltaX Me.Width = Math.Max(minSize, Me.Width) ' Y Me.Height = Me.Height + DeltaY Me.Height = Math.Max(minSize, Me.Height) Case 5 ' Rectangle BOTTOM ' ================================================================================ ' Y Me.Height = Me.Height + DeltaY Me.Height = Math.Max(minSize, Me.Height) Case 6 ' Rectangle BOTTOM-LEFT ' ================================================================================ ' X Me.Width = Me.Width - DeltaX If Me.Width > minSize Then pt.X = Me.Left + DeltaX Else Me.Width = minSize pt.Y = Me.Top End If ' Y Me.Height = Me.Height + DeltaY Me.Height = Math.Max(minSize, Me.Height) Case 7 ' Rectangle LEFT ' ================================================================================ ' X Me.Width = Me.Width - DeltaX If Me.Width > minSize Then pt.X = Me.Left + DeltaX Else Me.Width = minSize pt.Y = Me.Top End If End Select ' New Position of the dynamic PictureBox after Resizing Me.Location = pt ' Mouse Position after Resizing MousePos = New Point(e.X, e.Y) MousePos.X = Math.Max(0, Math.Min(MousePos.X, Me.Width)) MousePos.Y = Math.Max(0, Math.Min(MousePos.Y, Me.Height)) MousePos = PointToScreen(MousePos) ' Update of Rectangles used for Resizing (Adornments) CalcAdornments() ' To force Paint event Invalidate() End If End If End If Else ' MouseButton.Left NOT CLICKED ' Mouse over Adornments (Rectangles used for Resizing) ActiveAdornment = -1 ' Set the Cursor for the Adorments used Dim tmprect As RectangleF Dim i As Integer = 0 For Each tmprect In Adornments If tmprect.Contains(e.X, e.Y) Then MouseInPict = True ActiveAdornment = i SetAdornmentCursor() Invalidate() Return End If i = i + 1 Next ' Mouse somewhere else Cursor = Cursors.Default Invalidate() End If End Sub
Option Strict On Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.Controls.Add(New clsP With {.BackColor Color.Red, .Top 50, .Left = 50}) End Sub Public Class clsP Inherits PictureBox Private Sub clsP_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove Debug.Print(String.Format("x={0} y={1}", e.X, e.Y)) End Sub Private Sub clsP_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseUp If e.X < 0 And e.Y < 0 Then Me.Left += e.X Me.Width += Math.Abs(e.X) Me.Top += e.Y Me.Height += Math.Abs(e.Y) End If End Sub End Class End Class
Option Strict On Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.Controls.Add(New clsP With {.BackColor Color.Red, .Top 50, .Left = 50}) End Sub Public Class clsP Inherits PictureBox Private Sub clsP_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove Debug.Print(String.Format("x={0} y={1}", e.X, e.Y)) If e.X < 0 And e.Y < 0 Then Me.Left += e.X Me.Width += Math.Abs(e.X) Me.Top += e.Y Me.Height += Math.Abs(e.Y) End If End Sub End Class End Class
Option Strict On Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.Controls.Add(New clsP With {.BackColor Color.Red, .Top 50, .Left = 50}) End Sub End Class Public Class clsP Inherits PictureBox Private Sub clsP_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove Debug.Print(String.Format("x={0} y={1}", e.X, e.Y)) If e.X < 0 And e.Y < 0 Then Me.Left += e.X Me.Width += Math.Abs(e.X) Me.Top += e.Y Me.Height += Math.Abs(e.Y) End If End Sub End Class
0 1 2 7 3 6 5 4
Option Strict On Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.Controls.Add(New clsP With {.BackColor Color.Red, .Top 50, .Left = 50}) End Sub End Class Public Class clsP Inherits PictureBox Sub New() Me.Image = Image.FromFile("ton_image.jpg") Me.SizeMode = PictureBoxSizeMode.Zoom End Sub Private Sub clsP_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove Debug.Print(String.Format("x={0} y={1}", e.X, e.Y)) If e.Button = Windows.Forms.MouseButtons.Left Then '0 If e.X < 0 And e.Y < 0 Then Cursor = Cursors.PanNW Me.Left += e.X Me.Width += Math.Abs(e.X) Me.Top += e.Y Me.Height += Math.Abs(e.Y) '7 ElseIf e.X < 0 And e.Y > 10 And e.Y < Me.Height - 20 Then Cursor = Cursors.PanWest Me.Left -= Math.Abs(e.X) Me.Width += Math.Abs(e.X) '6 ElseIf e.X < 0 And e.Y > 20 Then Cursor = Cursors.PanSW Me.Left += e.X Me.Width += Math.Abs(e.X) Me.Height += Math.Abs(e.Y) - Me.Height '3 ElseIf e.X > Me.Width Then Cursor = Cursors.PanEast Me.Width += e.X - Me.Width '2 ElseIf e.X > (Me.Width - 20) And e.Y < 0 Then Cursor = Cursors.PanNE Me.Width += e.X - Me.Width Me.Top -= Math.Abs(e.Y) Me.Height += Math.Abs(e.Y) '4 ElseIf e.X > Me.Width - 20 And e.Y > Me.Height - 20 Then Cursor = Cursors.PanSE Me.Width += e.X - Me.Width Me.Height += Math.Abs(e.Y) - Me.Height ElseIf e.X > 20 And e.Y > Me.Height - 20 Then '5 Cursor = Cursors.PanSouth Me.Height += Math.Abs(e.Y) - Me.Height '1 ElseIf e.X > 20 And e.X < Me.Width - 20 And e.Y < 0 Then Cursor = Cursors.PanNorth Me.Top -= Math.Abs(e.Y) Me.Height += Math.Abs(e.Y) End If End If End Sub End Class
' Position 0 ?? If e.X < 20 And e.Y < 20 Then Cursor = Cursors.PanNW Me.Left = Me.Left + e.X Me.Width = Me.Width + Math.Abs(e.X) Me.Top = Me.Top + e.Y Me.Height = Me.Height + Math.Abs(e.Y) '1 ElseIf e.X > 20 And e.X < Me.Width - 20 And e.Y < 0 Then Cursor = Cursors.PanNorth Me.Top -= Math.Abs(e.Y) Me.Height += Math.Abs(e.Y) '2 ElseIf e.X > (Me.Width - 20) And e.Y < 0 Then Cursor = Cursors.PanNE Me.Width += e.X - Me.Width Me.Top -= Math.Abs(e.Y) Me.Height += Math.Abs(e.Y) ' Position 3 ElseIf e.X > Me.Width - 20 And e.Y > 20 And e.Y < Me.Height - 20 Then Cursor = Cursors.PanEast Me.Width = e.X ' Position 4 ElseIf e.X > Me.Width - 20 And e.Y > Me.Height - 20 Then Cursor = Cursors.PanSE Me.Width = e.X Me.Height = e.Y ' Position 5 ElseIf e.X > 20 And e.X < Me.Width - 20 And e.Y > Me.Height - 20 Then Cursor = Cursors.PanSouth Me.Height = e.Y '6 ElseIf e.X < 0 And e.Y > 20 Then Cursor = Cursors.PanSW Me.Left += e.X Me.Width += Math.Abs(e.X) Me.Height += Math.Abs(e.Y) - Me.Height ' Position 7 ?? ElseIf e.X < 20 And e.Y > 20 And e.Y < Me.Height - 20 Then Cursor = Cursors.PanWest Me.Left = Me.Left - Math.Abs(e.X) Me.Width = Me.Width + Math.Abs(e.X) End If
Private Function CalculZone(ByVal rect As Rectangle) As List(Of Rectangle) ' Dim rects As New List(Of Rectangle) ' rects.Add(New Rectangle(0, 0, CInt(rect.Width * 0.1), CInt(rect.Height * 0.1))) rects.Add(New Rectangle(CInt(rect.Width * 0.3), 0, CInt(rect.Width * 0.4), CInt(rect.Height * 0.1))) rects.Add(New Rectangle(CInt(rect.Width * 0.9), 0, CInt(rect.Width * 0.1), CInt(rect.Height * 0.1))) rects.Add(New Rectangle(CInt(rect.Width * 0.9), CInt(rect.Height * 0.3), CInt(rect.Width * 0.1), CInt(rect.Height * 0.4))) rects.Add(New Rectangle(CInt(rect.Width * 0.9), CInt(rect.Height * 0.9), CInt(rect.Width * 0.1), CInt(rect.Height * 0.1))) rects.Add(New Rectangle(CInt(rect.Width * 0.3), CInt(rect.Height * 0.9), CInt(rect.Width * 0.4), CInt(rect.Height * 0.1))) rects.Add(New Rectangle(0, CInt(rect.Height * 0.9), CInt(rect.Width * 0.1), CInt(rect.Height * 0.1))) rects.Add(New Rectangle(0, CInt(rect.Height * 0.3), CInt(rect.Width * 0.1), CInt(rect.Height * 0.4))) ' Return rects End Function
rects.Add(New Rectangle(-10, -10, CInt(rect.Width * 0.1), CInt(rect.Height * 0.1)))
'fonction de calcul des zones de redimensionnement Private Function CalculeZones(ByVal rect As Rectangle, ByVal distance As Integer) As List(Of Rectangle) Dim largeur_recoupe As Integer = Convert.ToInt32(rect.Width / 2) Dim hauteur_recoupe As Integer = Convert.ToInt32(rect.Height / 2) Dim div As Integer = Convert.ToInt32(distance / 2) Dim rects As New List(Of Rectangle) rects.Add(New Rectangle(0, 0, distance, distance)) rects.Add(New Rectangle(largeur_recoupe - div, 0, distance, distance)) rects.Add(New Rectangle(rect.Width - distance, 0, distance, distance)) rects.Add(New Rectangle(rect.Width - distance, hauteur_recoupe - div, distance, distance)) rects.Add(New Rectangle(rect.Width - distance, rect.Height - distance, distance, distance)) rects.Add(New Rectangle(largeur_recoupe - div, rect.Height - distance, distance, distance)) rects.Add(New Rectangle(0, rect.Height - distance, distance, distance)) rects.Add(New Rectangle(0, hauteur_recoupe - div, distance, distance)) Return rects End Function
Dim Zones As List(Of Rectangle) = CalculeZones(rect, 5)