[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: www/areas/accessibility
From: Olaf Schmidt <ojschmidt () kde ! org>
Date: 2006-07-24 16:51:36
Message-ID: 1153759896.906133.21805.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 565858 by ojschmidt:
complete saturation formula
M +24 -17 oxygen.php
--- trunk/www/areas/accessibility/oxygen.php #565857:565858
@@ -82,31 +82,38 @@
$color ["hex"] = sprintf ("#%'02X%'02X%'02X", $color ["red256"], $color \
["green256"], $color ["blue256"]);
$color ["luminosity"] = 0.2126 * $color ["redL"] + 0.7152 * $color ["greenL"] + \
0.0722 * $color ["blueL"];
-
$color ["brightness"] = (299 * $color ["red256"] + 587 * $color ["green256"] + \
114 * $color ["blue256"]) / 1000;
$max = max ($color ["redL"], $color ["greenL"], $color ["blueL"]);
$min = min ($color ["redL"], $color ["greenL"], $color ["blueL"]);
$med = $color ["redL"] + $color ["greenL"] + $color ["blueL"] - $max - $min;
- $color ["hue"] = ($med - $min) / ($max - $min);
- $color ["saturation"] = 0;
+ $hue = ($med - $min) / ($max - $min);
-// if ($max == $min) {
-// $color ["hue"] = "-";
-// $color ["saturation"] = 0;
-// }
-// elseif ($max == $color ["greenL"]) {
-// $color ["hue"] = ($color ["blueL"] - $color ["redL"]) / ($max - $min) / 6 \
+ 1/3;
-// if ($min == $color ["blueL"])
-// $color ["saturation"] =
-// } elseif ($max == $color ["blueL"]) {
-// $color ["hue"] = ($color ["redL"] - $color ["greenL"]) / ($max - $min) / 6 \
+ 2/3;
-// } elseif ($color ["greenL"] < $color ["blueL"]) {
-// $color ["hue"] = ($color ["greenL"] - $color ["blueL"]) / ($max - $min) / \
6 + 1;
-// } else
-// $color ["hue"] = ($color ["greenL"] - $color ["blueL"]) / ($max - $min) / \
6; + if ($max == $min) {
+ $color ["hue"] = "-";
+ $color ["saturation"] = 0;
+ }
+ else {
+ if ($max == $color ["redL"]) {
+ $factor = 0.2126;
+ } elseif ($max == $color ["greenL"]) {
+ $color ["hue"] += $hue + 1/3;
+ $factor = 0.7152;
+ } else {
+ $color ["hue"] += 2/3;
+ $factor = 0.0722;
+ }
+ if ($med == $color ["redL"]) {
+ $factor += 0.2126 * $hue;
+ } elseif ($med == $color ["greenL"]) {
+ $factor += 0.7152 * $hue;
+ } else {
+ $factor += 0.0722 * $hue;
+ }
+
+ $color ["saturation"] = max (($max-$min)*$factor/$color ["luminosity"], \
($max-$min)*($factor-1)/($color ["luminosity"]-1)); }
function printTableLine (const $colors, const $color, const $name, const $tablename) \
{
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic