Convertir des valeurs de couleurs à  partir de données en Hex.

VeillardVeillard Membre
novembre 2005 modifié dans API AppKit #1
Bonsoir à  tous

Est-il possible de transformer des valeurs de couleurs du type "#DA7D26" ou "RGB(218,125,38) pour l'utiliser avec quelquechose du style "colorWithDevideRed:r green:g blue:b..." sachant que r, g et b ont des valeurs inférieures ou égales à  un... ???

Merci

Réponses

  • Eddy58Eddy58 Membre
    novembre 2005 modifié #2
    Et bien il te suffit de diviser par 255 : R=218/255 ; G=125/255 ; B=38/255. :)

    [EDIT]
    Sinon, pour convertir une valeur hexadecimale en décimale il faut utiliser la fonction strtol(), qui convertie une chaine en entier.
    Exemple:
    [tt]
    long result=strtol("DA",NULL,16);
    [/tt]
    Le premier paramètre est la chaine hexadécimale à  convertir. Le 3e indique la base numérique, donc ici base 16.
  • VeillardVeillard Membre
    12:53 modifié #3
    Merci Eddy, j'avais pas pensé à  la division par 255.
  • AliGatorAliGator Membre, Modérateur
    12:53 modifié #4
    Ah ouais quand même....
    Combien de bières dans la tronche pour louper ça ?  ;D :) ;)
    :p :p :p :p :p :p
  • VeillardVeillard Membre
    12:53 modifié #5
    C'est plutôt combien de cafés...  :fouf):
  • elfelf Membre
    12:53 modifié #6
    Attention quand même: strlol demande des chaines C donc pour toi ça sera surement plutôt
    truc = strlol([@DA cString], NULL, 16); //ou qqch du genre
Connectez-vous ou Inscrivez-vous pour répondre.