Inverser une couleur

Répondre
bibi
le 18/01/2005 à 23:02
bibi
<?
function inverser_valeur($val)
{
for($i=0;$i<16;$i++)
{
$debut[]=$i;
}

rsort($debut);

return($debut[$val]);


}


function reverse_color($color)
{

if(eregi("^#[0-9a-f]{6}$",$color))
{

$nombre = substr($color,1);
$nombre = strtoupper($nombre);
for($i=0;$i<6;$i++)
{
if(eregi("^[a-f]$",$nombre{$i}))
{
$nb = ord($nombre{$i})-55;
}
else
{
$nb = $nombre{$i};
}

$retour[$i] = inverser_valeur($nb);
if(inverser_valeur($nb)>9)
{
$retour[$i] = chr($retour[$i]+55);
}
else
{
$retour[$i] = inverser_valeur($nb);
}

}

$final = "#".implode("",$retour);
return $final;
}
}


echo reverse_color("#FFFFFF");


j'ai essayé avec #000000 et #FFFFFF et ca marche , mais pour les autres valeurs en fait, je vous avouerais que j'ai un doute, d'autant que l'algorithme c'est moi qui l'ai fait je sais pas du tout si ca donne les inverses ct pour savoir si qqn pouvait me dire (on va y arriver) si cette fonction marchait

voila merci d'avance :)
commit suicide
bibi
le 18/01/2005 à 23:13
bibi
ca a l'air de marcher a peu pres, mais des fois c bizarre genre pour une couleur #FF20C0, ca retourne : #00DF3F mais c un peu illisible, ptet ke c les couleurs ki font ca pcke jaune sur violet :s

merci d'etre des beta testeurs :)
commit suicide
bibi
le 19/01/2005 à 00:13
bibi
en fait jviens de le faire en 100 fois moins lourd :

<?
function reverse_color2($color)
{
$depart = "0123456789ABCDEF";
$arrivee = "FEDCBA9876543210";

if(eregi("^#[0-9a-f]{6}$",$color))
{

return strtr($color,$depart,$arrivee);
}
}
?>
commit suicide
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours