PHP (ou autre) - gradation couleur suivant un shéma préderminé
Répondre à la discussion
Affichage des résultats 1 à 11 sur 11

PHP (ou autre) - gradation couleur suivant un shéma préderminé



  1. #1
    VieuxRouquin

    PHP (ou autre) - gradation couleur suivant un shéma préderminé


    ------

    Bonjour,
    Je ne sais pas si je suis dans la bonne partie du forum, mais les admins auront la bonté de me re-dispatcher si nécessaire.

    J'ai un nombre (indice UV allant de 0 à normalement moins de 11, mais pouvant exceptionnellement le dépasser). Cet indice a un pas de 0.1
    Je voudrais y associer une couleur GRADUELLE (RVB) comme :

    de 0 à =3 = VERT
    de > 3 à 5 = JAUNE
    de > 5 à 6 = ORANGE
    de > 6 à 11 = ROUGE
    >11 VIOLET - MAUVE ou même NOIR, je ne sais pas

    Donc, par exemple, à partir de 0 à 3, une pointe de vert jusqu'à 00FF00 à 3, puis, à 3.1, une pointe de jaune jusqu'à cela soit carrément jaune à 5 et ainsi de suite.
    Qu'en pensez vous ?, programmé en PHP ou en Python.


    Bien à vous
    PC

    -----

  2. #2
    Ikhar84
    Animateur Informatique

    Re : PHP (ou autre) - gradation couleur suivant un shéma préderminé

    Et cette couleur est representée comment ?
    Le background-color d'une div ?
    Une image ?

    L'élement devra avoir un dégradé continu ?

    Une petite image explicative aiderait bien !

    Edit: et le plus important ! La plateforme !
    C'est pour un site web (PHP) ?
    J'ai glissé Chef !

  3. #3
    umfred

    Re : PHP (ou autre) - gradation couleur suivant un shéma préderminé

    en html/css > https://www.w3schools.com/colors/colors_gradient.asp
    après, en recherchant gradient sur le net, on trouve une pléthore d'exemple (il faudra surement autant de gradient que de gamme de valeur)

  4. #4
    VieuxRouquin

    Re : PHP (ou autre) - gradation couleur suivant un shéma préderminé

    @Ikhar84 oui c'est pour un background-color "dynamique" d'une div. (selon l'indice UV du moment)

    En fait je m'inspire de l'idée de https://fr.wikipedia.org/wiki/Indice_UV#Description
    Les couleurs peuvent aller de vert très clair (0) au rouge (11) et violet/mauve (?) au delà. cela fait 110 variantes entre blanc - jaune - orange et rouge...

    J'aimerais programmer cela simplement en PHP

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

    Re : PHP (ou autre) - gradation couleur suivant un shéma préderminé

    Du vert clair au rouge sombre serait déjà pas mal. Mais avec une pointe de jaune au milieu serait le top
    Bon là, je vais faire dodo et j’y réfléchirais demain

  7. #6
    VieuxRouquin

    Voilà la réponse , mise ici dans une boucle pour tester toutes les valeurs de 0 à 12 avec un pas de 0.1

    Code PHP:
    <?php

    for ($UV=0$UV <=12$UV += 0.1) {
        
    $dUV $UV*10;
            
            if( 
    $UV <=){// de blanc à vert
                
    $r=round255-(8.5*$dUV));
                
    $g=255;
                
    $b=round255-(8.5*$dUV));
             } elseif(
    $UV <=5) { // de vert à jaune
                
    $r=round(($dUV-30)*12.75);
                
    $g255 ;
                
    $b=0;
            } elseif (
    $UV<=7){ // de jaune à orange
                
    $r255;
                
    $g round(255-($dUV-50)*5.5);
                
    $b 0
            } elseif(
    $UV<=10){ // de orane vers rouge
                
    $r=255;
                
    $g round(165-($dUV-70)*5.5);
                
    $b=0;
            } elseif(
    $UV<=11) {// de rouge à dark violet
                
    $r =round(255-($dUV-100)*10.7);
                
    $g 0;
                
    $b round(($dUV-100)*21.1);
            } else {
    // Dark violet
                
    $r=148 ;
                
    $g=;
                
    $b=211 ;
            }
        echo 
    '<style type="text/css"> .divUV'.$dUV .'{ background-color: RGB(' $r.","$g.","$b .'); } </style>'
        echo 
    '<div class = "divUV'$dUV .'"" >';
        echo 
    $UV ;
        echo 
    "</div>";
    }
    ?>
    Dernière modification par JPL ; 27/03/2021 à 02h49. Motif: Remplacement de la balise Coded par PHP

  8. #7
    VieuxRouquin

    Re : PHP (ou autre) - gradation couleur suivant un shéma préderminé

    Nom : 2021.03.25 15.37001 PC-POLLUX.png
Affichages : 93
Taille : 6,8 Ko
    Par contre, le passage de l'orange (7) au rouge (10) n'est pas terrible,
    L'orange de l'indice 8 devrait se retrouver au 7. Et mettre du rouge + tôt peut-être déjà à 8.

    Qu'en pensez-vous ?
    Là, j'ai l'impression d'un monologue

  9. #8
    umfred

    Re : PHP (ou autre) - gradation couleur suivant un shéma préderminé

    tu as du faire une erreur de calcul à un moment, en mettant 145 au lieu de 165 (dans le cas où UV <10), ça va mieux

  10. #9
    umfred

    Re : PHP (ou autre) - gradation couleur suivant un shéma préderminé

    Zut, pas eu le temps pour éditer: j'ai affiché les valeurs de RGB pour voir le problème > echo $UV.'=>'.$r.','.$g.','.$b ;

  11. #10
    Gustave19

    Re : PHP (ou autre) - gradation couleur suivant un shéma préderminé

    Ca ne serait pas plus lisible avec l'instruction switch plutôt que tous ces elseif ?
    https://www.php.net/manual/fr/contro...res.switch.php

  12. #11
    VieuxRouquin

    Re : PHP (ou autre) - gradation couleur suivant un shéma préderminé

    Merci pour vos réactions, on se sent moins seul

    Merci @umfred, je me doutais bien que j'avais fait une erreur, mais je n'avais pas eu le temps de regarder + loin.

    Oui @Gustave19, c'est une possibilité, mais lors du premier « case ( $UV <= 3 ): » Le 0 n'est pas pris en compte ! Du coup, il se retrouve dans le « default » en violet. Nom : 2021.03.27 11.25001 PC-POLLUX.png
Affichages : 74
Taille : 37,1 Ko
    De toute façon, que ce soit avec le switch ou les if elseif et else, le code bien indenté et commenté est bien lisible dans les deux cas, non ?

    En tout cas, je vous remercie pour votre participation !

Discussions similaires

  1. Leds et gradation
    Par 40CDV20 dans le forum Bricolage et décoration
    Réponses: 1
    Dernier message: 05/12/2016, 21h05
  2. Réponses: 3
    Dernier message: 16/07/2016, 15h13
  3. Gradation tube LED
    Par invite49a9147b dans le forum Électronique
    Réponses: 11
    Dernier message: 08/04/2013, 11h47
  4. Fonction à plusieurs variables, intégration suivant une, dérivation suivant l'autre.
    Par invite148758bd dans le forum Mathématiques du supérieur
    Réponses: 0
    Dernier message: 09/05/2011, 15h30
  5. gradation du néon
    Par invite4e019132 dans le forum Électronique
    Réponses: 6
    Dernier message: 21/04/2009, 16h43