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
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!
Lego Storm Trooper
Fågel Fenix
Två hyllor på badrummet
Hobbyhörna fixad
Hylla bakom soffan
Modellbygge igen!
Porträtt av u/Flattie-Ratty
Porträtt av u/DangDoood
Buy prints of my maps
Hero Dashboard för Descent
3D-printer
Fältsjukhus 616
Ny kaffemaskin
Porträtt av u/elizabeeeef
Jämförelse 135 mm
Nya objektiv
Porträtt av kompis mamma
Använda utrymmet under trappen
Spelbord
Pimpning av köks-ön
Jag saknar min Dodge!
Acrylic drip