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écupérer la couleur des pixels


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2008
    Messages : 241
    Par défaut récupérer la couleur des pixels
    Bonjour;
    j'utilise la lib OpenGL pour créer un robot en 3D qui marche sur un terrain à carreaux blanc et noir maintenant je veux que lorsque mon robot marche je récupères la couleur de chaque de chaque pixel en (RGB) ma question c'est a ce que je peux utiliser GetPixel et si c'est oui alors comment car j'ai déjà essayé ça mais j'ai pas eu le bon résultat.
    voilà mon code.
    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
    20
    21
    COLORREF pix ;
    float dist =9+reculer,y,max;
    if(reculer>-8.5)
    reculer-=0.5;
    roue_rot++;
    avancer=reculer;
    OpenGLPanel1->Repaint();
    Label4->Caption=-reculer;
    //Label6->Caption=dist;
    y=1-abs(dist-1.5)/1.5;
    //Label7->Caption=y;
    if(y>0)
    max=y;
    else max=0;
    //Label11->Caption=max;
    long R,G,B;
    HDC dc = GetDC(NULL);
    pix = GetPixel(dc, roue_rot, 10);
    R = GetRValue(pix);
    G = GetGValue(pix);
    B = GetBValue(pix);

  2. #2
    Membre émérite
    Avatar de Gouyon
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    1 137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 137
    Billets dans le blog
    5
    Par défaut
    Il y a peut être une solution plus simple. Mais sauf erreur de ma part tu connais la position de ton robot donc tu dois savoir s'il est sur une case noire ou une case blanche.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 33
    Par défaut Idée pour faire marcher le GetPixel
    Bonjour,
    Pourquoi faites-vous un GetDC (NULL)? (i.e. avec un argument NULL)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    //Personnellement,sous windows,pour récupérer le
    //device context,je fais
    dc = GetDC(GetActiveWindow());
    //De plus,pour que le GetPixel fonctionne,il faut que le pixel
    //se trouve dans la "clipping region"

Discussions similaires

  1. recuperation de couleur des pixels
    Par heni86_2003 dans le forum Graphisme
    Réponses: 4
    Dernier message: 03/07/2009, 23h03
  2. récupérer la couleur des cases
    Par canary dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 25/03/2009, 17h42
  3. Changer la couleur des pixels d'une image
    Par k_meleon dans le forum VBA Access
    Réponses: 0
    Dernier message: 31/03/2008, 16h22
  4. Réponses: 6
    Dernier message: 13/08/2007, 19h47
  5. Réponses: 3
    Dernier message: 15/02/2006, 17h27

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