Algorithme calcul couleur contrastée
Répondre à la discussion
Affichage des résultats 1 à 12 sur 12

Algorithme calcul couleur contrastée



  1. #1
    Hervebe

    Algorithme calcul couleur contrastée


    ------

    Bonjour,
    Je dessine un graphique de barres; je cherche une méthode de calcul de la couleur (RGB ou HSL) pour écrire sur ces barres colorées de façon contrastée.
    Je trouve beaucoup de sites expliquant comment calculer le contraste de 2 couleurs données
    mais rien pour calculer les composantes couleur afin que le contraste soit le plus élevé possible.
    Auriez-vous un algorithme à me proposer ?
    Merci

    -----

  2. #2
    goaoute

    Re : Algorithme calcul couleur contrastée

    La notion de contraste étant hautement subjective, il paraît illusoire de vouloir y appliquer du calcul.
    Et de toutes façon, plus tu recherche le contraste et plus tu limite la palette ( grand maxi 16 ?).

  3. #3
    umfred

    Re : Algorithme calcul couleur contrastée

    si je ne dis pas de bêtises le meilleur contraste s'obtient en utilisant la couleur complémentaire; donc encore une fois, si je ne me trompe pas, en faisant
    Rc=255-R
    Gc=255-G
    Bc=255-B
    (255 si couleur codé sur 3x8bits)
    on devrait approché de ce que l'on veut (?)

  4. #4
    pm42

    Re : Algorithme calcul couleur contrastée

    Citation Envoyé par Hervebe Voir le message
    Je trouve beaucoup de sites expliquant comment calculer le contraste de 2 couleurs données
    mais rien pour calculer les composantes couleur afin que le contraste soit le plus élevé possible.
    Je suppose que ces sites t'ont expliqué que la perception du contraste est lié au ratio des luminance relatives, c'est à dire calculées par rapport au point le plus sombre et le plus clair du document ?
    Ce que cela va te donner, c'est qu'en gros, si tu veux le maximum de contraste, tu prends du noir et du blanc.
    En général, ces sites indiquent aussi que le contraste maximum n'est pas forcément agréable ni efficace. Un exemple ici avec du texte : https://www.accessibility-developer-...-to-calculate/
    Il faudrait donc savoir ce que tu veux faire et éventuellement, que tu postes un exemple pour pouvoir t'aider plus précisément.



    Citation Envoyé par goaoute Voir le message
    La notion de contraste étant hautement subjective, il paraît illusoire de vouloir y appliquer du calcul.
    La notion a été largement étudiée notamment pour rendre les écrans de téléphone et d'ordinateur accessibles aux personnes ayant des difficultés visuelles. C'est également la base de mesure d'optiques photographiques, là aussi basée sur la perception de l'oeil humain. Le sujet n'est pas plus subjectif que la couleur : il est étudié en prenant en compte à la fois la moyenne des visions normales et les cas particuliers.

  5. A voir en vidéo sur Futura
  6. #5
    Hervebe

    Re : Algorithme calcul couleur contrastée

    Merci pour vos réponses,
    @umfred : prendre la couleur complémentaire était ma première approche mais le contraste est décevant.

    @pm42 : c'est bien ce que j'avais trouvé, calcul du contraste en fonction de la luminance relative.
    Ces sites disent aussi que pour une bonne lecture d'un texte sur fond uni ce rapport doit être > 4,5
    Je pense qu'il doit être possible de faire le contraire, connaissant la luminance du fond, calculer la luminance du texte pour que le rapport soit > 4,5

    cependant je n'y parviens pas d'où ma question : je connais HSL du fond, je voudrais calculer HSL (surtout L donc) du texte pour qu'il soit le plus lisible possible
    par exemple un fond rouge saturé (RGB = 255 , 0 , 0) => HSL = 0°, 255, 127

  7. #6
    pm42

    Re : Algorithme calcul couleur contrastée

    Citation Envoyé par Hervebe Voir le message
    cependant je n'y parviens pas d'où ma question : je connais HSL du fond, je voudrais calculer HSL (surtout L donc) du texte pour qu'il soit le plus lisible possible
    par exemple un fond rouge saturé (RGB = 255 , 0 , 0) => HSL = 0°, 255, 127
    Je ferais simple : si L > 127, je met le texte en noir. Si L <= 127, je met le texte en blanc. Pour du texte, n'utiliser que ces 2 couleurs a du sens.
    Petit exemple avec L en % parce que c'était plus simple :
    Images attachées Images attachées  

  8. #7
    Hervebe

    Re : Algorithme calcul couleur contrastée

    C'est ce que j'utilise, plus exactement je calcule la luminance Y = (B * 28&) + (R * 77&) + (G * 151&)
    si le résultat est supérieur à 32640 je peins le texte en noir, sinon en blanc.

    Il se fait que j'a modifié l'algorithme qui définit la couleur des barres du graphique entre la valeur idéale (vert) et limite à ne pas dépasser (rouge)
    avant je faisais la pondération des canaux R et G en fonction de l'éloignement par rapport à la valeur idéale mais les couleurs intermédiaires étaient moches
    alors je suis passé en HSL avec Saturation = 100% et Luminosité = 50% et en jouant sur H de 0° (rouge) à 120° (vert) : l'échelle des couleurs est bien plus conviviale
    exemple avant (RGB) / après (HSL)



    J'imaginais qu'avec cette méthode je pouvais trouver une couleur plus appropriée pour le texte mais puisque tu dis que le choix entre noir et blanc suffit alors je ne change rien.
    Exemple avec texte noir ou blanc selon le fond



    Merci beaucoup pour tes réponses.

  9. #8
    goaoute

    Re : Algorithme calcul couleur contrastée

    Avec ton fond bleu tu te tire une balle dans le pied; comment veux-tu avoir du contraste si tu colore le fond ?
    Le fond c'est blanc ou noir (en atténuant éventuellement le noir ou le blanc)

  10. #9
    Hervebe

    Re : Algorithme calcul couleur contrastée

    Citation Envoyé par goaoute Voir le message
    Le fond c'est blanc ou noir
    Ben non, c'est bleu !

  11. #10
    pm42

    Re : Algorithme calcul couleur contrastée

    Citation Envoyé par Hervebe Voir le message
    Ben non, c'est bleu !
    Oui. Avoir le contraste maximal est utilise parfois, pour le texte mais pour des graphes, cela peut faire mal aux yeux. Dans ton cas, tu pourrais éclaircir un peu le fond et avoir des teintes un poil plus pastel pour des carrés.
    Souvent, on met un fond d'un gris très léger aussi.

    Si tu tapes "graph colors" et que tu vas dans Image sur Google (ou l'équivalent sur ton moteur de recherche favori), tu as pas mal d'exemples.

    Après, c'est juste une remarque comme ça et vu l'usage que je subodore, tu n'as pas forcément à essayer de faire le plus beau graphe du monde avec des couleurs à faire pleurer Vermeer

  12. #11
    Hervebe

    Re : Algorithme calcul couleur contrastée

    L'usage c'est une signature dans un forum dédié aux aquariums eau de mer, exemple Le Forum Récifal.
    Flairas tu bien ?

  13. #12
    pm42

    Re : Algorithme calcul couleur contrastée

    Citation Envoyé par Hervebe Voir le message
    L'usage c'est une signature dans un forum dédié aux aquariums eau de mer, exemple Le Forum Récifal.
    Flairas tu bien ?
    Oui mais j'ai triché : l'URL est sur les images que tu as posté. Donc effectivement, le fond est bleu. Vert s'il y a des algues

Discussions similaires

  1. Algorithme de calcul de la primorielle
    Par MrSteveWonder dans le forum Programmation et langages, Algorithmique
    Réponses: 6
    Dernier message: 20/09/2017, 13h09
  2. [Génétique] Algorithme de prédiction de la couleur des yeux
    Par 3wCreation dans le forum Biologie
    Réponses: 12
    Dernier message: 31/01/2017, 13h32
  3. Algorithme de calcul de probabilité
    Par invite1b3b9b60 dans le forum Programmation et langages, Algorithmique
    Réponses: 6
    Dernier message: 03/01/2012, 21h41
  4. algorithme d'un calcul
    Par invite0fd5e1c6 dans le forum Programmation et langages, Algorithmique
    Réponses: 6
    Dernier message: 27/03/2011, 15h46
  5. algorithme exact de calcul de moyenne
    Par inviteea95960a dans le forum Logiciel - Software - Open Source
    Réponses: 15
    Dernier message: 25/03/2010, 06h31