Capture d'image

Résolu
lenum1 Messages postés 30 Date d'inscription dimanche 10 juin 2007 Statut Membre Dernière intervention 13 janvier 2008 - 3 janv. 2008 à 22:30
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 - 4 janv. 2008 à 15:00
Bonjour, j'ai besoin pour mon projet de capturer une image. Si cela n'est pas possible alors capturer a un endroit précis avec le X et le Y :)

11 réponses

jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
4 janv. 2008 à 11:10
Ouias...

Bon ... ce que tu veux dire s'exprimait tout simplement ainsi : capturer la portion d'une picturebox survolée par une image vide ...

alors :

Un projet avec :
une picturebox nommée picture1 et contenant l'image de ton choix
dans cette picturebox : un contrôle image vide et nommé image1 et avec son borderstyle = 1
en dehos de ta picturebox picture1 (en dessous, par exemple) une picturebox nommée picture2

et ce code :

Option Explicit
Dim XX As Single
Dim YY As Single
Private Declare Function StretchBlt Lib "gdi32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal nSrcWidth As Long, ByVal nSrcHeight As Long, ByVal dwRop As Long) As Long



Private Sub Form_Activate()
    Me.ScaleMode = vbPixels
    Image1.Height = Image1.Width
    Picture1.ScaleMode = vbPixels
    Picture2.ScaleMode = vbPixels
    Picture2.Width = Image1.Width * 2
    Picture2.Height = Image1.Height * 2
End Sub



Private Sub Image1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
  XX = Me.ScaleX(X, vbTwips, vbPixels)
  YY = Me.ScaleY(Y, vbTwips, vbPixels)
End Sub



Private Sub Image1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    If Button = vbLeftButton Then
        Image1.Left = Image1.Left - XX + Me.ScaleX(X, vbTwips, vbPixels)
        Image1.Top = Image1.Top - YY + Me.ScaleY(Y, vbTwips, vbPixels)
        StretchBlt Picture2.hdc, 0, 0, Picture2.Width, Picture2.Height, Picture1.hdc, Image1.Left, Image1.Top, Image1.Width, Image1.Height, vbSrcCopy
    End If
End Sub



Exécute et vois ....
Ceci étan,t dit : j'ai personnellement utilisé la fonction
StretchBlt Lib
de l'Api de Windows. Tu peux parvenir au même résultat en la remplaçant par l'utilisation de PaintPicture de VB...

Bonne chance
3
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
3 janv. 2008 à 23:57
0
lenum1 Messages postés 30 Date d'inscription dimanche 10 juin 2007 Statut Membre Dernière intervention 13 janvier 2008
4 janv. 2008 à 07:58
Heu... Quel est mon problème ?
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
4 janv. 2008 à 08:57
6,7 et 8

(sinon on va te conseiller l'emploi du filet à papillon)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lenum1 Messages postés 30 Date d'inscription dimanche 10 juin 2007 Statut Membre Dernière intervention 13 janvier 2008
4 janv. 2008 à 09:26
Ha pardon, donc enfaite j'ai une image (vide) qui se déplace sur une picture, et je voudrais capturer l'image pour voir ce que regarde l'image. C'est en langage VB6. Si c'est pas possible, et bien capturer a un endroit précis avec X et Y et pour la taille et bien celle de l'image J'espère avoir été explicite merci.
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
4 janv. 2008 à 09:38
1) J'ai vraiment de grosses difficultés à comprendre ce que "regarderait" une image
2) je suppose que cette "image" qui se déplace est un contrôle image (vide) et que tu en connais donc les dimensions (Width et Height) ainsi que sa position (Left et Top)


Conclusion : je ne comprends rien à la raison de ta question, ni à ce que tu cherches à faire exactement !!!
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
4 janv. 2008 à 09:59
Pour tout te dire, j'ai "deviné" ce que tu veux faire.

Mais nous ne sommes pas ici pour deviner !

Tu auras donc ton code lorsque tu sauras exprimer clairement et avec précision ta demande ...
0
lenum1 Messages postés 30 Date d'inscription dimanche 10 juin 2007 Statut Membre Dernière intervention 13 janvier 2008
4 janv. 2008 à 10:37
Ok ok, oui je connais sa taille mais pas sa position, mais je peut connaitre sa position avec Image.Top et Left. Car enfaite l'image se déplace grâce à la souris. En cliquant l'image se déplace sur la case de la souris. En-dessous de l'image (vide) se trouve une picture (pleine) et je voudrais faire une capture où se trouve l'image pour voir se que sélectionne l'image. Si tu comprend toujours pas demande moi un screen car sa sera plus simple
0
lenum1 Messages postés 30 Date d'inscription dimanche 10 juin 2007 Statut Membre Dernière intervention 13 janvier 2008
4 janv. 2008 à 11:46
Merci ! Sa devrais marcher, je vais tester je te tien au courant ;)
0
lenum1 Messages postés 30 Date d'inscription dimanche 10 juin 2007 Statut Membre Dernière intervention 13 janvier 2008
4 janv. 2008 à 14:00
Sa marche !!! J'ai du modifier beaucoup de chose mais sa marche
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
4 janv. 2008 à 15:00
Bien évidemment, que "ça marche" ...

Mets "REPONSE ACCEPTEE" alos (que d'autres en profitent à leur tour) ...
0
Rejoignez-nous