Saturationscript för hex-färger i PHP
2005-04-01 -
594
49537
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 smile
Mer i Tutorials
Anvnd ImageMagick fr dynamiska bild Grnssnitt fr mp3spelare Dynamiska argument till PHP funktioner Saturationscript fr hexfrger i PHP S skapas sandmannets ikoner S blir layouten p sandmannet till