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 : 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
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
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