begin process at 2012 05 28 20:38:01
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Graphique

 > 

Déplacer une image avec la souris


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Déplacer une image avec la souris

lundi 14 mars 2005 à 16:00:28 | Déplacer une image avec la souris

ingelishome

Bonjour,

Je suis en train de faire une petite appli sous Borland C++ Builder dans lequel j'ai besoin de déplacer une image. Pour ce faire j'ai eu au début idée de la manipuler avec la souris : simplement en cliquant sur l'image et tant que le bouton gauche n'est pas relaché, faire bouger l'image en fonction du déplacement de la souris.

Ma première manipulation a tout juste consister a faire varier les crdonnées de l'ImageBox, mais ceci entraina un clignottement important : je me suis donc penché sur la question, et j'ai pris connaisances de certaine fonctions (BitBlt, StretchBlt, MoveWindow), et en effet, ca ne clignotte plus, c même très fluide, mais ca fait d'énorme traces ! Comme quand windows plante ! Alors purriez-vous m'aider à enlever ces vilaines trace?

Voici le code (Maléfique ! ) :

//Lorsque l'on appuie sur un bouton de la souris
void __fastcall TForm1::clk_enf(TObject *Sender, TMouseButton Button,
      TShiftState Shift, int X, int Y)
{
        // StartX et StartY sont des variables globales
       StartX=X;
       StartY=Y;
}

 

//Lorsque la souris bouge
void __fastcall TForm1::clk_depl(TObject *Sender, TShiftState Shift, int X,
      int Y)
{
  int DiffX,DiffY;

  if (Shift.Contains(ssLeft)) // vérifie que le bouton gauche est enfoncé
  {
         HDC hDC;
         HDC hDeskDC= GetDC(Handle);
 
        //Fait la différence entre le point d'origine et le déplacement de la souris
        DiffX=StartX-X; 
         DiffY=StartY-Y;
  
        //Déplace l'image "Img_tra" vers ses nouvelles coordonnées
         StretchBlt(hDeskDC,Img_tra->Left-DiffX,Img_tra->Top-                     DiffY,Img_Largeur,Img_Hauteur,Img_tra->Canvas-                     >Handle,0,0,Img_Largeur,Img_Hauteur,SRCCOPY);
  
        //Libère les resources
        ReleaseDC(hDeskDC, hDC);
  }
}

Merci d'avance pour votre aide précieuse

lundi 14 mars 2005 à 16:52:38 | Re : Déplacer une image avec la souris

cleter

slt,
Je ne connais pas ces fonctions, mais je pense que les traces sont du au faite que pendant que tu déplace ton image, le reste de l'application est bloqué. Je pense que tu devrai mettre la partie "deplacement d'une image" dans un thread afin que le reste ne soit pas bloqué, et donc ca devrai te virer tes trainées.


lundi 14 mars 2005 à 22:27:55 | Re : Déplacer une image avec la souris

ingelishome

Réponse acceptée !
Ho miracle! En effet mon appli été complètement bloqué ce qui ne permettai meme pas le rafraichissement de l'écran -> un simple thread a suffi!

Merci Cleter ! ! ! !




Cette discussion est classée dans : int, image, img, souris, hdc


Répondre à ce message

Sujets en rapport avec ce message

need help_API - debutant. [ par JimyRyan ] j'ai cree un progamme qui affiche une image (stoquee dans un fichier .bmp), et une phrase (lu a partir d'un fichier TXT), j'ai deux problemes : une fo Manipulation de Bitmap [ par rogo ] J'ai réaliser une boite de dialogue sur laquelle j'ai inséré deux Pictures de taille différentes :IDC = IDC_Image_1 et IDC_Image_2Type = BitmapStyle = parcourir l'image pixel par pixel et dessiner un rectangle entourant la zone noir en OpenCv [ par DANIA511 ] SVP, j'ai besoin de votre aide. je veux binariser une image et puis détecter les zones noirs, les découper, et les afficher . "bien sure j'ai utilisé sdl et vc++2010 [ par hb2012 ] slt tout le monde, je sais bien mes amis que c'est pas possible d'afficher une image avec c++. par contre je m'adresse à vous pour savoir s'il existe diaporama as3 [ par djou12000 ] Bonjour, Je n'ai pas trouvé de codes similaires dans vos tutos, c'est pourquoi je me permets de demander de l'aide... Je suis totalement débutante s Tilt Shift [ par xenon006 ] Bonjour tout le monde, Je suis un étudiant en informatique, et j'ai un projet en traitement d'image dans le domaine de l'imagerie, précisement sur l détéction des point d'interet d'un visage dans une image [ par marwaMIMImarwa ] bonjour je suis entrain d'implémenter un code en c++ pour détecter le visage et les yeux en utilisant la méthode de détection des points d'interet de QT + openCV sous unix [ par wafafolla ] salut, Je suis en train de réaliser un projet sous unix en utilisant QT. Depuis quelques jours j'ai commencé à découvrir la bibliothèque de traitement importation image en SDL [ par Richard94 ] Bonjour, voila j'ai un petit probleme en SDL, j'essaye d'importer une image format "xcf" en faisant IMG_load sous codeblocks, mais ça ne marche pas. P Image Texte szgmenté avec OpenCV [ par nostalgieing ] Bonjour, J'ai un projet qui consiste à prendre une image texte diviser cette image en ligne(selon le nombre de lignes de texte) et chaque ligne je l


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,640 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales