Saturationscript för hex-färger i PHP
2005-04-01 -
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
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
Batwing
Elsa
Skaffat husbil
Foton på bilen
Remarkable 2
Ny espressomaskin!
Porträtt av Emma
AtlasCMS och rådande krissituation
Ny bil! Ford Mustang Mach-E GT
Spelbordet, igen
Ny bil beställd
Två månader med Keto
Spelbord v3
Mechanical Age map
More shading and water
Första månaden med Keto
Keto
Fotosession: Tabitha
Utebelysning
Återvinningsskåp
Måla om huset
Byggt hylla till vintunnorna
Dodge RAM
Inline-redigering
Drömmen om ett spa
Dags för carport
Survey Island, what is happening?
Golvprov
Gillestugan uppdaterad!
Spelbord v2
Tre billyhyllor blir två
Gymkort
You can't take the sky from me
Högtalare klara!
eklundh.com tar ned skylten
Högtalare bestämda!
Uppgraderingar biorum
Lord of the Rings-maraton
Ergonomiskt som tusan!