Copier une portion d'une image
Bonjour à tous,
J'ai récupéré un bout de code sur le net qui permet de copier un bout d'image.
Le soucis c'est que dans mon cas, je veux récupérer des portions de 32 x 32 mais je récupère un bout d'image en 42 x 42.
Voici se que j'ai fait quand on clique sur l'image d'origine (qui est dans une Picturebox).
Code:
1 2 3 4 5 6 7
| Private Sub PICBOX_TILES_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PICBOX_TILES.MouseDown
' Mettre en mémoire le bout de tiles sélectionné
_TilesUtilise = RecupererImage(Me.PICBOX_TILES.Image, New Rectangle(Int(e.X / 32) * 32, Int(e.Y / 32) * 32, 32, 32))
Me.PictureBox1.Image = _TilesUtilise
End Sub |
Voici la fonction RecupererImage (c'est ce que j'ai récupéré sur le net)
Code:
1 2 3 4 5 6 7 8 9
| Public Function RecupererImage(ByVal ImgSource As Image, ByVal Rect As Rectangle) As System.Drawing.Image
'cette sub permet de récupérer une portion d'un bitmap sans le prendre dans son intégralité
Dim ImgOut As System.Drawing.Image = New System.Drawing.Bitmap(Rect.Width, Rect.Height)
Dim Graphics As System.Drawing.Graphics = System.Drawing.Graphics.FromImage(ImgOut)
Graphics.DrawImage(ImgSource, 0, 0, Rect, System.Drawing.GraphicsUnit.Pixel)
Return ImgOut
End Function |
Donc j'ai mis le résultat dans une PictureBox (PictureBox1) pour tester et comme je vous les dit, il récupère bien la portion de l'image que je lui demande, mais au format 42 x 42 (donc l'image est "grossi")
Savez-vous pourquoi j'ai ce phénomène ??
Je vous remercie d'avance.
Bonne journée.
Cryo