Décomposer une couleur en composantes RGB PHP

Un article de WikiTuto.

Jump to: navigation, search

Sommaire

Explication

Nous venons de dire que la couleur de fond sera passée par son nom. Pour la concision de l'exemple, les couleurs possibles seront limitées à celles définies en HTML 3.2, mais on pourrait utiliser l'ensemble des couleurs définies par X11 (dans le rgb.txt). Pour récupérer les valeurs des composantes Rouge, Verte et Bleue pour une couleur donnée, nous utiliserons un tableau associatif dérivé de Colors.php de Claus Radloff (téléchargeable sur Berber's PHP3 Examples page, partie "Graphics").

Voici comment cela fonctionne (Après avoir lu le paragraphe sur les tableaux associatifs, ça ne devrait pas vous poser de problème).

 // Extrait de Colors.php par Claus Radloff.
 // On créée une correspondance entre le nom et les composantes RGB
 $coltable = Array (
      "black"=>array("red"=>0x00, "green"=>0x00, "blue"=>0x00),
      "maroon"=>array("red"=>0x80, "green"=>0x00, "blue"=>0x00),
      "green"=>array("red"=>0x00, "green"=>0x80, "blue"=>0x00),   
      ...
      "aqua"=>array("red"=>0x00, "green"=>0xFF, "blue"=>0xFF),
      "white"=>array("red"=>0xFF, "green"=>0xFF, "blue"=>0xFF)
	) ;         
 

Le tableau $coltable est un tableau associatif qui comporte comme clé le nom de la couleur, et comme valeur un tableau associatif ayant pour clé le nom de le composante red, green ou blue, et comme valeur, la valeur de cette composante exprimée de 0 à 255. Ainsi, pour obtenir les valeurs des composantes RGB de la couleur aqua, on procède comme suit :

$mycol = $coltable["aqua"];
     
$red = $mycol["red"];  
$green = $mycol["green"];
$blue = $mycol["blue"];

Il ne reste plus qu'à générer et retourner une image GIF

Voir aussi

Liens externes

Source

Boîte à outils
Annuaire gratuitCe site est listé dans la catégorie Informatique : Aide et astuces en informatique Annuaire