diff --git a/PIL/GifImagePlugin.py b/PIL/GifImagePlugin.py index 443d4db12..203689320 100644 --- a/PIL/GifImagePlugin.py +++ b/PIL/GifImagePlugin.py @@ -364,6 +364,11 @@ def getheader(im, palette=None, info=None): for i in range(maxcolor): s.append(o8(i) * 3) + if im.info.has_key('transparency'): + transparentIndex = im.info['transparency'] + s.append('!' + o8(0xf9) + o8(4) + o8(1) + o8(0) + o8(0) + + o8(transparentIndex) + o8(0)) + return s def getdata(im, offset = (0, 0), **params): diff --git a/libImaging/Imaging.h b/libImaging/Imaging.h index e2033022a..76861a0df 100644 --- a/libImaging/Imaging.h +++ b/libImaging/Imaging.h @@ -75,7 +75,7 @@ typedef struct ImagingPaletteInstance* ImagingPalette; struct ImagingMemoryInstance { /* Format */ - char mode[4+1]; /* Band names ("1", "L", "P", "RGB", "RGBA", "CMYK") */ + char mode[6+1]; /* Band names ("1", "L", "P", "RGB", "RGBA", "CMYK", "YCbCr", "BGR;xy") */ int type; /* Data type (IMAGING_TYPE_*) */ int depth; /* Depth (ignored in this version) */ int bands; /* Number of bands (1, 2, 3, or 4) */