[NUI] Palette: Add an exception for 4ch(ARGB) image processing
authorWoochanlee <wc0917.lee@samsung.com>
Tue, 19 Jul 2022 09:39:40 +0000 (18:39 +0900)
committerJaehyun Cho <jaehyun0cho@gmail.com>
Mon, 25 Jul 2022 08:33:12 +0000 (17:33 +0900)
src/Tizen.NUI/src/internal/Utility/ColorCutQuantizer.cs

index 0201b5d..c183436 100755 (executable)
@@ -610,7 +610,14 @@ namespace Tizen.NUI
                         for (int i = lowIndex; i <= highIndex; i++)
                         {
                             int color = colors[i];
-                            colors[i] = 255 << 24 | (color >> 8 & 0xff) << 16 | (color >> 16 & 0xff) << 8 | (color & 0xff);
+                            if ((color >> 24 & 0xff) == 255)
+                            {
+                                colors[i] = 255 << 24 | (color >> 8 & 0xff) << 16 | (color >> 16 & 0xff) << 8 | (color & 0xff);
+                            }
+                            else
+                            {
+                                colors[i] = (color >> 24 & 0xff) << 24 | (color >> 8 & 0xff) << 16 | (color >> 16 & 0xff) << 8 | (color & 0xff);
+                            }
                         }
 
                         break;
@@ -619,7 +626,14 @@ namespace Tizen.NUI
                         for (int i = lowIndex; i <= highIndex; i++)
                         {
                             int color = colors[i];
-                            colors[i] = 255 << 24 | (color & 0xff) << 16 | (color >> 8 & 0xff) << 8 | (color >> 16 & 0xff);
+                            if ((color >> 24 & 0xff) == 255)
+                            {
+                                colors[i] = 255 << 24 | (color & 0xff) << 16 | (color >> 8 & 0xff) << 8 | (color >> 16 & 0xff);
+                            }
+                            else
+                            {
+                                colors[i] = (color >> 24 & 0xff) << 24  | (color & 0xff) << 16 | (color >> 8 & 0xff) << 8 | (color >> 16 & 0xff);
+                            }
                         }
                         break;
                 }