[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 18:12:56
Message-ID: 1153764776.732072.31584.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 565891 by ojschmidt:

New try to repair hue function

 M  +28 -16    oxygen.php  


--- trunk/www/areas/accessibility/oxygen.php #565890:565891
@@ -86,35 +86,47 @@
 
     $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;
 
     if ($max == $min) {
        $color ["hue"] = "-";
        $color ["saturation"] = 0;
     }
     else {
+      $med = $color ["redL"] + $color ["greenL"] + $color ["blueL"] - $max - $min;
       $hue = ($med - $min) / ($max - $min);
-      if ($med == $color ["redL"]) {
-        $factor = 0.2126 * $hue;
-        $hue = -$hue;
-      } elseif ($med == $color ["greenL"]) {
-        $factor = 0.7152 * $hue;
-      } else {
-        $factor = 0.0722 * $hue;
-      }
 
       if ($max == $color ["redL"]) {
-        if ($hue < 0)  $hue += 6;
-        $factor += 0.2126;
+        $factor = 0.2126;
+
+        if ($med == $color ["greenL"]) {
+          $factor += 0.7152 * $hue;
+          $color ["hue"] = $hue/6;
+        } else {
+          $factor += 0.0722 * $hue;
+          $color ["hue"] = 1 - $hue/6;
+        }
       } elseif ($max == $color ["greenL"]) {
-        $hue += 2;
-        $factor += 0.7152;
+        $factor = 0.7152;
+
+        if ($med == $color ["redL"]) {
+          $factor += 0.2126 * $hue;
+          $color ["hue"] = 1/3 - $hue/6;
+        } else {
+          $factor += 0.0722 * $hue;
+          $color ["hue"] = 1/3 + $hue/6;
+        }
       } else {
-        $hue += 4;
-        $factor += 0.0722;
+        $factor = 0.0722;
+
+        if ($med == $color ["redL"]) {
+          $factor += 0.2126 * $hue;
+          $color ["hue"] = 2/3 + $hue/6;
+        } elseif ($med == $color ["greenL"]) {
+          $factor += 0.7152 * $hue;
+          $color ["hue"] = 2/3 - $hue/6;
+        }
       }
 
-      $color ["hue"] = $hue/6;
       $color ["saturation"] = max (($max-$min)*$factor/$color ["luminosity"], \
($max-$min)*($factor-1)/($color ["luminosity"]-1));  }
 }


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic