IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

récuperer la couleur du pixel ou se trouve la souris?


Sujet :

C++Builder

  1. #1
    Membre confirmé Avatar de fomazou
    Inscrit en
    Mars 2004
    Messages
    220
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 220
    Par défaut récuperer la couleur du pixel ou se trouve la souris?
    comment récuperer la couleur du pixel ou se trouve la souris?
    je voudrais faire un petit utiliatire qui fonctionnne en arrière plan et se lance au démarrage. j'aimerai savoir comment faire tout cela. on positionne la souris a l'endroit souhaité puis on fait un (Ctrl+?) et on a ds une petite fénêtre la couleur du pixel ou se trouve la souris(couleur en RGB).
    merci
    A+

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2006
    Messages : 12
    Par défaut
    Tu veux que ton programme donne les couleurs qui se trouvent dans ton Form ou ton programme est censé donné la couleur en n'importe quel point de ton écran?

  3. #3
    Membre expérimenté

    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2003
    Messages : 288
    Par défaut
    La fonction GetPixel du GDI permet de faire ça.
    http://msdn2.microsoft.com/en-us/library/ms532282.aspx

    yarp
    www.senosoft.com

  4. #4
    Membre confirmé Avatar de fomazou
    Inscrit en
    Mars 2004
    Messages
    220
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 220
    Par défaut comment récuperer la couleur du pixel....
    comment récuperer la couleur du pixel ou se trouve la souris a n'importe quel endroit de l'ecran?
    je voudrais faire un petit utiliatire qui fonctionnne en arrière plan et se lance au démarrage. j'aimerai savoir comment faire tout cela. on positionne la souris a l'endroit souhaité puis on fait un (Ctrl+?) et on a ds une petite fénêtre la couleur du pixel ou se trouve la souris(couleur en RGB).
    merci
    A+

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2006
    Messages : 12
    Par défaut
    Malheureusement je ne sais que prendre la couleur dans les objets avec Canvas (Form, Bitmap, ...) avec le code suivant:
    Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
    Couleur = Form1->Canvas->Pixel [X] [Y];
    J'ai essayé avec GetPixel mais je n'y arrive pas, je n'ai pas pu tout comprendre, je ne sais pas s'il faut rajouter une bibliothèque.

    Donc là je laisse yarp donner de plus amples informations.

  6. #6
    Membre émérite
    Avatar de bandit boy
    Profil pro
    Inscrit en
    Février 2006
    Messages
    916
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 916
    Par défaut
    Salut,
    si tu veux récupérer la couleur du pixel quelque soit la position de celle-ci, et que tu ne sais le faire que sur un Canvas, tu peux le faire de la manière suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
        //fait une copie d'écran
        Graphics::TBitmap *Bitmap = new Graphics::TBitmap;
        Bitmap->Height = Screen->Height;
        Bitmap->Width = Screen->Width;
        HDC ScreenSrc = GetWindowDC(0);
        BitBlt(Bitmap->Canvas->Handle, 0, 0, Screen->Width,
           Screen->Height, ScreenSrc, 0, 0, SRCCOPY);
     
        //récupère la position de la souris
        TPoint *Position = new TPoint;
        GetCursorPos(Position);
        int x = Position->x;
        int y = Position->y;
     
        Shape1->Brush->Color = Bitmap->Canvas->Pixels[x][y];
     
        delete Position;
        delete Bitmap;
    Tu fais une copie d'écran que tu colles dans un Bitmap et tu prends la couleur dans le Canvas du Bitmap à la position acutelle de la souris.

Discussions similaires

  1. changer couleur de pixels sur PictureBox
    Par avigeilpro dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 30/06/2006, 23h09
  2. Couleur de pixels
    Par maitrez dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 29/06/2006, 13h04
  3. Réponses: 3
    Dernier message: 15/02/2006, 17h27
  4. Couleur du pixel pointé par la sourie
    Par algerian dans le forum Windows
    Réponses: 4
    Dernier message: 16/08/2005, 18h22
  5. Réponses: 1
    Dernier message: 26/03/2005, 12h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo