Récupérer une portion d'image [Résolu]

Signaler
Messages postés
141
Date d'inscription
mardi 18 mars 2003
Statut
Membre
Dernière intervention
3 octobre 2010
-
Messages postés
1263
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
24 juillet 2013
-
Bonjour
Je suis à la recherche d'une methode me permettant de mettre dans un PictureBox1 un morceau d'une image contenue dans un PictureBox2.

J'ai recherché sur MSDN et j'ai trouvé ceci à cette adresse http://msdn.microsoft.com/en-us/library/ms142041.aspx

Public Sub DrawImage2IntRect(ByVal e As PaintEventArgs)

' Create image.
Dim newImage As Image = Image.FromFile("SampImag.jpg")

' Create coordinates for upper-left corner of image.
Dim x As Integer = 100
Dim y As Integer = 100

' Create rectangle for source image.
Dim srcRect As New Rectangle(50, 50, 150, 150)
Dim units As GraphicsUnit = GraphicsUnit.Pixel

' Draw image to screen.
e.Graphics.DrawImage(newImage, x, y, srcRect, units)

Mon soucis est que je ne sais pas comment l'appliquer à un PictureBox.
J'ai essayé différentes choses, mais je but dans la manière de retranscrire le code.

Pouvez-vous m'aider à résoudre ce problème

Par avance un grand merci

3 réponses

Messages postés
1263
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
24 juillet 2013
6
Salut Philoub

J'ai fait un projet permettant de faire ce que tu désires : il est en VB Net 2008

http://www.vbfrance.com/codes/BITBLT-ENTRE-PICTUREBOX-VB-NET_50098.aspx

Tu pourras t'en inspirer

La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.

GRENIER Alain
Messages postés
141
Date d'inscription
mardi 18 mars 2003
Statut
Membre
Dernière intervention
3 octobre 2010

Merci pour ta réponse.

En testant plusieurs possibilité, j'ai enfin trouvé !!

Je me suis servi de ce lien : http://msdn.microsoft.com/fr-fr/library/system.drawing.graphics.drawimage.aspx

et le code donne ceci
Pour faire fonctionner le programme, j'ai créé 2 pictureBox et un button

Public Class Form1
Dim newimage As Image
Dim ulCorner As Point
Dim urCorner As Point
Dim llCorner As Point
Dim destPara As Point()
Dim srcRect As Rectangle
Dim units As GraphicsUnit = GraphicsUnit.Pixel


Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
ulCorner = New Point(0, 0)
urCorner = New Point(50, 0)
llCorner = New Point(0, 50)
destPara = New Point() {ulCorner, urCorner, llCorner}
srcRect = New Rectangle(0, 0, 50, 50)
newimage = PictureBox1.Image


End Sub


Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Me.PictureBox2.CreateGraphics.DrawImage(newimage, destPara, srcRect, units)

End Sub
End Class
Messages postés
1263
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
24 juillet 2013
6
Cela est vrai que ta façon de faire est plus doNet alors que la mienne n'est que l'adaptation d'un Dll  de VB 6.0 vers VB Net

La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.

GRENIER Alain