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

VB 6 et antérieur Discussion :

Récupération code Couleur par click Souris


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 11
    Par défaut Récupération code Couleur par click Souris
    Bonjour,

    J'ai développé un logiciel de géographie qui affiche entre autre la carte de France avec des départements de couleurs différentes. Lorsque l'utilisateur clique sur un département, le programme récupère la valeur de la couleur qu'il utilise ensuite pour afficher des renseignements sur le département cliqué.

    Exemple: Si l'utilisateur clique sur la partie Rouge de la carte, le programme récupère la valeur 255 qui est ensuite utilisée pour rechercher et afficher les informations relatives à ce département.

    Ce logiciel est utilisé et tourne correctement sur différents ordinateurs XP, Vista et Windows 7.

    J'ai eu un problème avec mon PC est j'ai du restaurer le système. Depuis ce jour, mon logiciel ne fonctionne plus. J'ai l'impression que les couleurs affichées sont différentes de celle d'avant la restauration.

    Pour un département qui avait avant le code couleur 6737049 le projet détecte aujourd'hui une valeur 6541212.

    Je pense que cela vient de mon écran qui doit afficher des couleurs légèrement différentes (non visible à l'oeil nu).

    Avez vous une idée sur la question et une suggestion à me faire.

    Par avance Merci.

  2. #2
    Membre expérimenté
    Inscrit en
    Janvier 2011
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 112
    Par défaut
    ___Ia ora na.

    a} créons une zone d'image (PictureBox) en fixant la propriété BackColor à 6737049 (soit 66CC99, en hexadécimal) ;
    b}
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
     
    MsgBox "Valeur de BackColor = " & Format(Picture1.BackColor) & vbCr & _
           "Valeur de Point = " & Format(Picture1.Point(X, Y))
     
    End Sub
    ___Selon le mode choisi dans les Propriétés de l'affichage (Paramètres / Qualité couleur) de l'ordinateur, on obtient :



    ___Si cela ne résout pas le problème,
    1) il serait intéressant (voire utile) de savoir comment sont fixées les couleurs ; la première idée qui vient à l'esprit est du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Picture1.Picture = LoadPicture("MaCarte.bmp")
    ___Mais il y a d'autres possibiltés ; par exemple, partir d'un fichier .jpg ou d'un autre format avec conversion - et le résultat peut ne pas être rigoureusement identique.
    NB- c'est une éventualité que NHenry avait mentionnée dans sa réponse à la question que vous avez posée (en des termes identiques) sur le forum de Comment ça marche ; vous avez répondu à d'autres messages mais pas à celui-là, vous contentant de conclure par
    Soyez gentil de lire les messages avant de poster une réponse
    ___Rassurez-vous : on essaie. A preuve, quand vous écrivez
    Pour un département qui avait avant le code couleur 6737049
    ___on se demande comment on s'assure qu'il s'agit bien de cette couleur précise.
    *************************************
    2) Il serait intéressant (voire utile) de savoir comment leur code est récupéré ; la première idée qui vient à l'esprit est du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Couleur& = Picture1.Point(X, Y)
    ___Mais il y a d'autres possibiltés, dont les résultats peuvent différer.
    ___Ainsi, quand vous écrivez
    Pour un département qui avait avant le code couleur 6737049 le projet détecte aujourd'hui une valeur 6541212
    ___comment s'assure-t-on
    a} qu'il s'agit bien de cette valeur ?
    b} que le point X, Y testé est bien le même que celui du paragraphe précédent ?

    ___Bonne solution à votre problème.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 11
    Par défaut
    Bonjour,

    Toutes les cartes du logiciel sont au format BMP. Les couleurs ont toutes été modifiées avec un outil que j'avais développé. Dans les Programmes la lecture des fichiers se fait de la manière suivante: Picture1.Picture = LoadPicture("MaCarte.bmp").

    Le code couleur est récupéré comme suit: Couleur = Picture1.Point(X, Y)

    --------------------------------------------------------------------------

    Je viens de faire deux autres essais avec le même programme en cliquant sur la même Couleur:

    -Le code Couleur lu par le programme sur le PC Windows XP qui ne semble plus fonctionner correctement est: RGB(156,207,99) .

    - Sur un autre PC XP: Le code lu est RGB(153,204,102)
    - Sur un PC Vista: Le code lu est également RGB(153,204,102)

    Le logiciel présente environ 70 cartes. Le problème est identique avec toutes les cartes.

    Ce logiciel est utilisé et tourne correctement sur différents ordinateurs XP, Vista et Windows 7. J'en déduis que les programmes ne sont pas en cause

    Par avance merci pour vos suggestions

  4. #4
    Membre expérimenté
    Inscrit en
    Janvier 2011
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 112
    Par défaut
    ___Ia ora na fa'ahou.
    ___Avez-vous vérifié que l'ordinateur était (ou pouvait être mis : j'ai du restaurer le système) en mode couleurs 32 bits, et non en couleurs 16 bits :
    Citation Envoyé par XylonAkau Voir le message
    ___Selon le mode choisi dans les Propriétés de l'affichage (Paramètres / Qualité couleur) de l'ordinateur, on obtient :

    ___Vous me pardonnerez de ne pas refaire avec RGB(156,207,99) et RGB(153,204,102) l'expérience faite ci-dessus pour 6737049 et 6541212. On peut présumer que la même cause a le mêmes effet.
    ___Bonne chance.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 11
    Par défaut
    Bonjour.

    Vous êtes le meilleurs.

    Vous avez trouvé la réponse à mon problème.
    Je ne comprends pas comment ce paramètre à pu se changer car je ne maitrise pas l'installation de Windows. Bref, je vous suis très reconnaissant de m'avoir dépanné.

    Encore Mille Merci.

    Cordialement.

  6. #6
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Salut

    Citation Envoyé par Cjvg2
    .....
    Le code couleur est récupéré comme suit: Couleur = Picture1.Point(X, Y)
    .....
    Je pense que cela vient de mon écran qui doit afficher des couleurs légèrement différentes (non visible à l'oeil nu).
    Pour s’affranchir des problèmes d'affichage à l'écran différents d'un ordinateur à un autre, il ne reste que la possibilité de lire le code couleur dans le fichier image aux coordonnées du x et y cliquer par l'utilisateur.

    As tu la possibilité de réécrire l’algorithme dans le programme VB (possèdes tu les sources du code pour recompiler suite à des modifications ?
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 11
    Par défaut
    Bonjour,

    Le problème à été solutionné par Mr XylonAkau. (Voir plus Haut)

    Pour répondre cependant à votre message,
    - J'ai développé ce Logiciel
    - J'ai bien entendu les sources
    - Je récupère la couleur au coordonnés X et Y après un clique Utilisateur
    - Je peux recompiler les Programmes après toutes modifications

    Merci encore

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 10/05/2011, 15h52
  2. Codes couleur par enregistrement
    Par Ric500 dans le forum IHM
    Réponses: 5
    Dernier message: 14/02/2008, 16h13
  3. Réponses: 12
    Dernier message: 20/04/2006, 15h15
  4. [J2SE] selection dans jList par click souris
    Par rupteur dans le forum Composants
    Réponses: 6
    Dernier message: 01/12/2005, 12h36
  5. Couleur du pixel pointé par la sourie
    Par algerian dans le forum Windows
    Réponses: 4
    Dernier message: 16/08/2005, 18h22

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