Skip to main content

Saturationscript för hex-färger i PHP

04/01/2005 -
594
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
Nytt projekt på gång: Ljussablar som ljuskälla
Hemma-Spa klart!
Alien: Romulus
Börjar likna en bar!
Reglar på plats
Rivning pågår!
Mjölner!
Örnen börjar bli redo för Sweden Rock
Utebar!
Mixtejp
Norrsken
Kan ha "råkat" skaffa något på Sci-Fi-mässan
Recension: Steam Hotell
Det börjar ta form med hemma-spa:et
Rostfärg och IKEA-lampa
Create a physical book from my digital book
Survey Island
Someone is trying to sell my map!
Julkalender
Myst book updated
Recension: Yasuragi Ryokan Hanare
Recension: Ad Astra
Ny tatuering - midgårdsormen!
Minnestal till en kaffekopp
Förlovade
Sweden Rock 2023
Ny nummerskylt för huset
Fix i husbilen
Grubbelgubbe
Uppdateringar i verkstaden!
Måla med rostfärg
Vårfix i trädgården
Jung Kook
Pappaskämt och annan humor
Bilder på spelbordet när det används
Använda laserskäraren för att skapa innehål...
Julklappar med laserskärare
Budget-Spa
Nyckelskåp
Fjällkaffe
1/20 DeLorean Time Machine
Caso Outdoor Cooler
Minikyl Coca Cola
Verktygsvagn med verktyg, 161 delar
CSS filters for background images
Huset ommålat!
Skiss för tatuering
Spelbordet klart
Laser cutting my Myst Island
We Can Do It