[Libreoffice-commits] libcdr.git: src/lib

Fridrich Å trba fridrich.strba at bluewin.ch
Fri Apr 4 06:30:46 PDT 2014


 src/lib/CDRCollector.cpp |   33 +++++++++++++++++++--------------
 1 file changed, 19 insertions(+), 14 deletions(-)

New commits:
commit 534d406ff9f6b124fddb3e18b44176aaba54f032
Author: Fridrich Å trba <fridrich.strba at bluewin.ch>
Date:   Fri Apr 4 15:30:06 2014 +0200

    YIQ255 - second service - deuce
    
    Change-Id: I7cc39c45a3d4a826a20d4e57dc703bec7bd0818e

diff --git a/src/lib/CDRCollector.cpp b/src/lib/CDRCollector.cpp
index 9ac58e5..ae5a744 100644
--- a/src/lib/CDRCollector.cpp
+++ b/src/lib/CDRCollector.cpp
@@ -477,30 +477,35 @@ unsigned libcdr::CDRParserState::_getRGBColor(const CDRColor &color)
     blue = col0;
     break;
   }
-  // YIQ
-  case 0x0a:
   // YIQ255
   case 0x0b:
   {
     double y = (double)col0;
     double i = (double)col1;
     double q = (double)col2;
-    if (colorModel == 0x0a)
-    {
+
+    y -= 100.0;
+    if (y < 0.0)
       y /= 100.0;
+    else
+      y /= 155.0;
+    y *= 0.5;
+    y += 0.5;
+
+    i -= 100.0;
+    if (i <= 0.0)
       i /= 100.0;
+    else
+      i /= 155;
+    i *= 0.5957;
+
+    q -= 100.0;
+    if (q <= 0)
       q /= 100.0;
-    }
     else
-    {
-      y /= 255.0;
-      i /= 255.0;
-      q /= 255.0;
-    }
-    i /= 2.0*0.5957;
-    i -= 0.5957;
-    q /= 2.0*0.5226;
-    q -= 0.5226;
+      q /= 155;
+    q *= 0.5226;
+
     double RR = y + 0.9563*i + 0.6210*q;
     double GG = y - 0.2127*i - 0.6474*q;
     double BB = y - 1.1070*i + 1.7046*q;


More information about the Libreoffice-commits mailing list