fix gif cannot deal with transparent color.
authorJiyoun Park <jijibe99@gmail.com>
Sun, 26 Feb 2012 10:46:56 +0000 (10:46 +0000)
committerJiyoun Park <jijibe99@gmail.com>
Sun, 26 Feb 2012 10:46:56 +0000 (10:46 +0000)
when make first frame, it didn't consider alpha value.
change code to deal with alpha value

SVN revision: 68450

legacy/evas/src/modules/loaders/gif/evas_image_load_gif.c

index 9cd6f6e..dbb3584 100644 (file)
@@ -483,10 +483,17 @@ _evas_image_load_frame_image_data(Image_Entry *ie, GifFileType *gif, Image_Entry
                          }
                        else
                          {
-                            r = cmap->Colors[rows[i1][j1]].Red;
-                            g = cmap->Colors[rows[i1][j1]].Green;
-                            b = cmap->Colors[rows[i1][j1]].Blue;
-                            *ptr++ = ARGB_JOIN(0xff, r, g, b);
+                            if (rows[i1][j1] == alpha)
+                              {
+                                 ptr++ ;
+                              }
+                            else
+                              {
+                                 r = cmap->Colors[rows[i1][j1]].Red;
+                                 g = cmap->Colors[rows[i1][j1]].Green;
+                                 b = cmap->Colors[rows[i1][j1]].Blue;
+                                 *ptr++ = ARGB_JOIN(0xff, r, g, b);
+                              }
                          }
                     }
                }