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["red"] = hexdec(substr($hex,0,2)); $c["green"] = hexdec(substr($hex,2,2)); $c["blue"] = hexdec(substr($hex,4,2)); foreach ($c as $key => $col){ $c[$key] = $col + $val; if ($c[$key] > 255) $c[$key] = 255; if ($c[$key] < 0) $c[$key] = 0; } return sprintf( "#%02s%02s%02s", dechex($c["red"]), dechex($c["green"]), dechex($c["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