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).
Voici la fonction RecupererImage (c'est ce que j'ai récupéré sur le net)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
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")
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Savez-vous pourquoi j'ai ce phénomène ??
Je vous remercie d'avance.
Bonne journée.
Cryo
Partager