 Detta skriver jag enbart för att testa min nya PHP-highlight funktion i AtlasML, så håll till godo - ett litet script som skiftar saturation för färger i hex-format (till exempel #6E6900 som är den gula bakgrundsfärgen på sandman.net om du valt gult nere på sidan).
Syntaxen är som följer:
<?
$oldcolor = '#6E6900';
$newcolor = saturation($oldcolor, +100);
print $newcolor;
?>
Det skulle resultera i "#d2cd64", vilket är 100 ljusare än $oldcolor. Vad är då hundra? Ja, tänk på att varje färgvärde (röd, grön och blå) mäts från 0-255, och varje sådant värde representeras av ett hex-värde. Så färgen "#6E6900" är alltså i själva verket "röd = 110, grön = 105, blå = 0" där 0 är mörkast och 255 är ljusast. Det är dom värdena vi fixar med i det här scriptet, som följer nedan:
<?
function saturation($hex, $val){
$hex = str_replace("#", "", $hex);
$c #DD0000\">\"red\" = hexdec(substr($hex,0,2));
$c #DD0000\">\"green\" = hexdec(substr($hex,2,2));
$c #DD0000\">\"blue\" = hexdec(substr($hex,4,2));
foreach ($c as $key => $col){
$c #0000BB\">$key = $col + $val;
if ($c #0000BB\">$key > 255) $c #0000BB\">$key = 255;
if ($c #0000BB\">$key < 0) $c #0000BB\">$key = 0;
}
return sprintf(
"#%02s%02s%02s",
dechex($c #DD0000\">\"red\"),
dechex($c #DD0000\">\"green\"),
dechex($c #DD0000\">\"blue\")
);
}
?>
Det där scriptet använder jag just nu på min sida för att skapa färgvarianter av grundtemat för vinjetter och liknande.
Som sagt, detta skrev jag bara för att testa min - <php></php>
kod för AtlasML. Jag tror inte det är så många som läser Sandmania (ingen av de tre alltså) som är intresserade av detta :)
|