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

AWT/Swing Java Discussion :

Comment savoir si une couleur est foncée ?


Sujet :

AWT/Swing Java

  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2002
    Messages
    705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 705
    Points : 393
    Points
    393
    Par défaut Comment savoir si une couleur est foncée ?
    J'ai un JTextField ou j'écris dedans une couleur textuelle: rgb(bla,bla,bla);
    Le fond du textField prends la couleur déclarée.

    Problème si la couleur est foncée, comme le texte écrit et en noir, on ne voit plus le texte, donc je voudrais que le texte deviennent blanc.

    Mais comment savoir quand je dois écrire mon texte en blanc ? Il y a une loi mathématique ??

  2. #2
    Membre actif Avatar de Lethal
    Profil pro
    Développeur Java
    Inscrit en
    Février 2006
    Messages
    194
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Février 2006
    Messages : 194
    Points : 227
    Points
    227
    Par défaut
    Plus les nombres se rapprochent de 255 et plus c'est clair. Il doit y avoir moyen en fesant la somme des trois et regarder si elle est supérieur ou inférieur a un certain nombre. A toi d'essayer pour trouver un nombre satifsfesant.

  3. #3
    Gfx
    Gfx est déconnecté
    Expert éminent
    Avatar de Gfx
    Inscrit en
    Mai 2005
    Messages
    1 770
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    Points : 8 178
    Points
    8 178
    Par défaut
    Il y a quand même plus propre. Tu peux convertir ta couleur en HSB ou HSL (Hue, Saturation, Brightness/Luminance). La 3e composante te donnera la luminosité de ta couleur. Regarde la classe Color du JDK, il y a des méthodes pour passer en HSB.
    Romain Guy
    Android - Mon livre - Mon blog

  4. #4
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2002
    Messages
    705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 705
    Points : 393
    Points
    393
    Par défaut
    Merci Mr Romain

    je suis dessus effectivement,

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2002
    Messages
    705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 705
    Points : 393
    Points
    393
    Par défaut
    En faite il faut pas utiliser le HSB c'est pas utile; c'est à dire que la valeur B n'est pas indicatrice du contraste.

    Ce qu'il faut c'est utiliser la luminescence et calculer l'interval de luminescence entre deux couleurs pour savoir si l'oeil distingue bien.

    Dommage que Color n'implémente pas la méthode de calcul de la luminescence.

  6. #6
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2002
    Messages
    705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 705
    Points : 393
    Points
    393

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

Discussions similaires

  1. Comment savoir quand une JFrame est rafraichie?
    Par mardona dans le forum Agents de placement/Fenêtres
    Réponses: 1
    Dernier message: 19/08/2005, 13h20
  2. Comment savoir si une connexion est deja ouverte?
    Par ghor_bey dans le forum Web & réseau
    Réponses: 3
    Dernier message: 29/07/2005, 16h17
  3. Réponses: 6
    Dernier message: 01/07/2005, 16h06
  4. Comment savoir si une variable est initialisée ?
    Par nabix dans le forum Général Python
    Réponses: 8
    Dernier message: 10/03/2005, 16h12
  5. Comment savoir qu'une fonction est standard ?
    Par D[r]eadLock dans le forum C
    Réponses: 5
    Dernier message: 24/03/2003, 15h42

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