Rvb en hexadécimal

Soyez le premier à donner votre avis sur cette source.

Snippet vu 3 626 fois - Téléchargée 30 fois

Contenu du snippet

Transforme le code couleur rvb en hexa.

Source / Exemple :


function rvb_hex($rvb){
 
 // test si la $rvb est un tableau
 if(!is_array($rvb)) { 
  print("Vous devez saisir un tableau"); 
  return 0; 
 } 
  
 $hex = "";
 
 for($i=0; $i<3; $i++) { 
 
   // teste si la valeur est comprise entre 0 et 255
   if( ($rvb[$i] > 255) || ($rvb[$i] < 0) ) { 
     print("La ".$i." valeur n'est pas comprise entre 0 et 255"); 
     return 0; 
   }

   //conversion en hexadecimal 
   $temp = dechex($rvb[$i]); 

   //test si la chaine fait 1 pour ajouter un 0 devant
   if(strlen($temp) < 2){
     // ajout du zéro
     $hex .= "0". $temp; 
   }else{
     //ajout du chiffre à la chaine
     $hex .= $temp; 
   } 
 }
 return $hex; 
}

A voir également

Ajouter un commentaire

Commentaires

Messages postés
112
Date d'inscription
jeudi 11 mars 2004
Statut
Membre
Dernière intervention
11 octobre 2006

merci pour ton code, j'ai modifier la
fonction sans utiliser de array :

function rvb_hex($rvb){ // conversion rvb en hexa

//teste de la chaine de caractere
if(! ereg("[0-9]{1,9}", $rvb)) {
print("Ce n'est pas un nombre rougevertbleu");
return 0;
}

for ($i=1; $i<10; $i++) {
if(strlen($rvb) < $i){ // ajout du zéro
$rvb = "0". $rvb;
}
}

$hex= "";
for($i=0; $i<3; $i++) {

//conversion enchaine pour tester les caractères
$rvbe[$i] = substr($rvb, 3*$i, 3);

$temp = dechex($rvbe[$i]);
if(strlen($temp) < 2){
// ajout du zéro
$temp = "0". $temp;
}

//conversion en hexadecimal et création de la chaine hex
$hex = $hex.($temp)." ";

//pour ceux que l'espace de fin dérange
$hex = trim($hex);
}

return $hex;
}
Messages postés
500
Date d'inscription
mardi 16 avril 2002
Statut
Membre
Dernière intervention
2 août 2004

Pas mal.
Ça pourrait servir...
Messages postés
822
Date d'inscription
vendredi 25 mai 2001
Statut
Modérateur
Dernière intervention
1 août 2014

c sympa comme source :o)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.