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++ Discussion :

Un detecteur de couleur


Sujet :

C++

  1. #1
    Inactif
    Inscrit en
    Octobre 2008
    Messages
    826
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 826
    Par défaut Un detecteur de couleur
    Bonjour,

    Je souhaiterai savoir comment detecter la couleur d'un pixel a un endroit donné, par exemple au centre de l'ecran.

    Merci de votre aide

  2. #2
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 398
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 398
    Par défaut
    Impossible en C++ standard, précise ta plate-forme.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Inactif
    Inscrit en
    Octobre 2008
    Messages
    826
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 826
    Par défaut
    Je suis sous windows.

  4. #4
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 398
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 398
    Par défaut
    GetPixel() :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    HDC hdc = GetDC(NULL);
    COLORREF pix = GetPixel(hdc, 860, 540);
    ReleaseDC(NULL, hdc);
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  5. #5
    Inactif
    Inscrit en
    Octobre 2008
    Messages
    826
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 826
    Par défaut
    Merci.

    Il y aurai moyen de placer un point noir pour voir ou le pixel se situe pour les test et afficher la couleur detecter ?

    Sinon visual studio expresse 2008 me renvoie cette erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xxx : fatal error C1083: Impossible d'ouvrir le fichier include*: 'iostrream'*: No such file or directory
    Le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    #include <iostrream>
     
    using namespace std;
     
    int main()
    {
    	cout << "hello world!" << endl;
    	return 0;
    }

  6. #6
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 398
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 398
    Par défaut
    "stream" ne prend qu'un seul R.

    Pour ton autre question, SetPixelV() a une chance de marcher.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  7. #7
    Inactif
    Inscrit en
    Octobre 2008
    Messages
    826
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 826
    Par défaut
    Oui merci.

    SInon une nouvelle erreur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    'hello.exe'*: Chargé 'C:\Users\pc\Documents\Visual Studio 2008\Projects\hello\Debug\hello.exe', Les symboles ont été chargés.
    'hello.exe'*: Chargé 'C:\Windows\System32\ntdll.dll'
    'hello.exe'*: Chargé 'C:\Windows\System32\kernel32.dll'
    'hello.exe'*: Chargé 'C:\Windows\System32\KernelBase.dll'
    'hello.exe'*: Chargé 'C:\Windows\winsxs\x86_microsoft.vc90.debugcrt_1fc8b3b9a1e18e3b_9.0.21022.8_none_96748342450f6aa2\msvcp90d.dll'
    'hello.exe'*: Chargé 'C:\Windows\winsxs\x86_microsoft.vc90.debugcrt_1fc8b3b9a1e18e3b_9.0.21022.8_none_96748342450f6aa2\msvcr90d.dll'
    Le programme '[7656] hello.exe: Natif' s'est arrêté avec le code 0 (0x0).

  8. #8
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 154
    Billets dans le blog
    4
    Par défaut
    Ceci n'est pas une erreur.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  9. #9
    Inactif
    Inscrit en
    Octobre 2008
    Messages
    826
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 826
    Par défaut
    En tout cas j'ai une fenetre noir qui s'ouvre et qui se referme.

  10. #10
    Expert confirmé

    Avatar de dragonjoker59
    Homme Profil pro
    Software Developer
    Inscrit en
    Juin 2005
    Messages
    2 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Software Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 2 035
    Billets dans le blog
    12
    Par défaut
    Citation Envoyé par thebarbarius Voir le message
    En tout cas j'ai une fenetre noir qui s'ouvre et qui se referme.
    Ce qui est le comportement normal pour une application console.
    Tu as donc 2 choix :
    - Lancer ton application depuis une invite de commande
    - Ajouter un system("Pause"); à la fin de ta fonction main.
    Si vous ne trouvez plus rien, cherchez autre chose...

    Vous trouverez ici des tutoriels OpenGL moderne.
    Mon moteur 3D: Castor 3D, presque utilisable (venez participer, il y a de la place)!
    Un projet qui ne sert à rien, mais qu'il est joli (des fois) : ProceduralGenerator (Génération procédurale d'images, et post-processing).

  11. #11
    Inactif
    Inscrit en
    Octobre 2008
    Messages
    826
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 826
    Par défaut
    Merci sa fonctionne.

    Maintenant comment je dois faire pour :
    - Detecter la couleur d'un pixel et affiché sa couleur.
    - Afficher un pixel rouge a l'endroit ou se trouve le 'détecteur de couleur'.

  12. #12
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 398
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 398
    Par défaut
    Troisième choix: Lance ton programme hors du debugger (Debug -> Start Withough Debugging Ctrl+F5), il rajoute le system("Pause"); tout seul.

    Ensuite, étrangle l'ingénieur Microsoft qui a décidé que ce serait une bonne idée de ne plus avoir ce bouton dans la barre d'outils par défaut, alors qu'il était présent dans Visual 6.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  13. #13
    Inactif
    Inscrit en
    Octobre 2008
    Messages
    826
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 826
    Par défaut
    Citation Envoyé par thebarbarius Voir le message
    Merci sa fonctionne.

    Maintenant comment je dois faire pour :
    - Detecter la couleur d'un pixel et affiché sa couleur.
    - Afficher un pixel rouge a l'endroit ou se trouve le 'détecteur de couleur'.

  14. #14
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 398
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 398
    Par défaut
    J'ai déjà posté comment: GetPixel(), SetPixelV().
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  15. #15
    Inactif
    Inscrit en
    Octobre 2008
    Messages
    826
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 826
    Par défaut
    Je suis désoé je debute.

    Même si j'ai des tutoriels C++ je n'arrive pas a faire mon programme.

    Pourriez vous me donner un coup de main ?
    Merci

  16. #16
    Inactif  


    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Par défaut
    Bonjour et bienvenue sur le forum (je me permet de te souhaiter la bienvenue, parce que même si tu as plus de 700 à ton actif, tu ne sembles pas connaître les usages du forum, comme par exemple poser une question claire dès le départ ou chercher un peu par soi même)

    Tu ne savais pas compiler un simple "hello world" en C++ ce matin à 9h. Ce n'est pas un défaut, on a tous commencé un moment donné. Par contre, cela ne sert à rien de s'attaquer tout de suite à des problèmes trop complexes pour ton niveau : tu ne comprends pas les réponses que l'on te fait (et crois moi, Médinoc t'a donné toutes les informations nécessaires dans son second post pour trouver par toi même ce qu'il faut chercher) et tu vas agacer les gens en demander qu'on te fasse le boulot à ta place.

    Donc prend un tutoriel de base pour débutant, lis le cours, fais les exercices, fais quelques projets simples pour apprendre. Ensuite, tu pourras revenir sur ce problème quand tu connaîtras la syntaxe de base du C++

    Bon courage

  17. #17
    Inactif
    Inscrit en
    Octobre 2008
    Messages
    826
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 826
    Par défaut
    1>------ Début de la génération*: Projet*: hello, Configuration*: Debug Win32 ------
    1>Compilation en cours...
    1>main.cpp
    1>c:\users\pc\documents\visual studio 2008\projects\hello\hello\main.cpp(9) : error C2065: 'HDC'*: identificateur non déclaré
    1>c:\users\pc\documents\visual studio 2008\projects\hello\hello\main.cpp(9) : error C2146: erreur de syntaxe*: absence de ';' avant l'identificateur 'hdc'
    1>c:\users\pc\documents\visual studio 2008\projects\hello\hello\main.cpp(9) : error C2065: 'hdc'*: identificateur non déclaré
    1>c:\users\pc\documents\visual studio 2008\projects\hello\hello\main.cpp(9) : error C3861: 'GetDC'*: identificateur introuvable
    1>c:\users\pc\documents\visual studio 2008\projects\hello\hello\main.cpp(10) : error C2065: 'COLORREF'*: identificateur non déclaré
    1>c:\users\pc\documents\visual studio 2008\projects\hello\hello\main.cpp(10) : error C2146: erreur de syntaxe*: absence de ';' avant l'identificateur 'pix'
    1>c:\users\pc\documents\visual studio 2008\projects\hello\hello\main.cpp(10) : error C2065: 'pix'*: identificateur non déclaré
    1>c:\users\pc\documents\visual studio 2008\projects\hello\hello\main.cpp(10) : error C2065: 'hdc'*: identificateur non déclaré
    1>c:\users\pc\documents\visual studio 2008\projects\hello\hello\main.cpp(10) : error C3861: 'GetPixel'*: identificateur introuvable
    1>c:\users\pc\documents\visual studio 2008\projects\hello\hello\main.cpp(11) : error C2065: 'hdc'*: identificateur non déclaré
    1>c:\users\pc\documents\visual studio 2008\projects\hello\hello\main.cpp(11) : error C3861: 'ReleaseDC'*: identificateur introuvable
    1>Le journal de génération a été enregistré à l'emplacement "file://c:\Users\pc\Documents\Visual Studio 2008\Projects\hello\hello\Debug\BuildLog.htm"
    1>hello - 11 erreur(s), 0 avertissement(s)
    ========== Génération*: 0 a réussi, 1 a échoué, 0 mis à jour, 0 a été ignoré ==========

  18. #18
    Expert confirmé

    Avatar de dragonjoker59
    Homme Profil pro
    Software Developer
    Inscrit en
    Juin 2005
    Messages
    2 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Software Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 2 035
    Billets dans le blog
    12
    Par défaut
    C'est joli... Il n'a apparemment pas trouvé HDC.
    Des questions ?
    Si vous ne trouvez plus rien, cherchez autre chose...

    Vous trouverez ici des tutoriels OpenGL moderne.
    Mon moteur 3D: Castor 3D, presque utilisable (venez participer, il y a de la place)!
    Un projet qui ne sert à rien, mais qu'il est joli (des fois) : ProceduralGenerator (Génération procédurale d'images, et post-processing).

  19. #19
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 398
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 398
    Par défaut
    #include <windows.h>

    + Voir documentation de GetDC() etc. sur MSDN.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  20. #20
    Inactif
    Inscrit en
    Octobre 2008
    Messages
    826
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 826
    Par défaut
    Ok sa fonctionne.

    Maintenant il ne me reste plus qu'a afficher le pixel rouge et la couleur détecter.

Discussions similaires

  1. alterner les couleurs dans un tableau avec xsl
    Par Eithelgul dans le forum XSL/XSLT/XPATH
    Réponses: 14
    Dernier message: 03/05/2015, 23h29
  2. [Batch] Un detecteur de couleur
    Par thebarbarius dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 22/04/2012, 15h28
  3. Couleur d'une JComboBox disabled
    Par ced dans le forum Composants
    Réponses: 6
    Dernier message: 06/01/2004, 15h33
  4. Mixage de Couleurs
    Par exxos dans le forum Algorithmes et structures de données
    Réponses: 15
    Dernier message: 29/05/2002, 13h34
  5. String Grid et choix d'une couleur pour une ligne
    Par Gigottine dans le forum C++Builder
    Réponses: 12
    Dernier message: 17/05/2002, 15h23

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