Partage
  • Partager sur Facebook
  • Partager sur Twitter

rgb

Sujet résolu
    1 mars 2013 à 14:52:25

    Bonjour ! :euh:

    Voila,

    J'ai trouver une function qui permet de convertir une couleur rgb en couleur hexadécimale mais je ne comprend pas tout.

    def rgb_to_hex(rgb):
        return '#%02x%02x%02x' % rgb  
    


    Je ne comprend pas la ligne 2 :

    return '#%02x%02x%02x' % rgb

     Voila si quelqu'un peut m éclairer sur le sujet.

    Merci ;)

    • Partager sur Facebook
    • Partager sur Twitter
      1 mars 2013 à 15:25:16

      La syntaxe str % tuple permet de mettre les données d'un tuple en forme selon une chaîne de caractères.

      # '%x' permet de convertir un nombre décimal en sa représentation hexadécimale.
      >>> '%x' % 100
      '64'
      >>> '%x' % 255
      'ff'
      >>> '%x' % 7
      '7'
      # '%02x' permet de dire en plus que l'on veut que le nombre hexa
      # tienne sur deux chiffres et soit blindé avec un 0 si besoin
      >>> '%02x' % 7
      '07'
      >>> '%02x' % 255
      'ff'
      >>> '%02x' % 100
      '64'
      # On peut formatter trois nombres à la fois
      >>> '%02x %02x %02x' % (7, 100, 255)
      '07 64 ff'
      # Et donc donner la représentation canonique d'une couleur RGB en hexadécimal
      >>> '#%02x%02x%02x' % (7, 100, 255)
      '#0764ff'
      
      

      Plus d'infos ici.

      Par contre cette syntaxe est dépréciée en Python3 (au profit de la méthode str.format()).

      -
      Edité par nohar 1 mars 2013 à 15:40:32

      • Partager sur Facebook
      • Partager sur Twitter
      Zeste de Savoir, le site qui en a dans le citron !
        1 mars 2013 à 15:42:27

        Merci ! C 'est exactement ce que je voulais ! ^^
        • Partager sur Facebook
        • Partager sur Twitter

        rgb

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown