From 9ef1de248a0c077f74f7724357cee4a37b493cde Mon Sep 17 00:00:00 2001 From: mrwastl Date: Sun, 29 May 2011 23:38:43 +0200 Subject: re-enable transparency --- glcdgraphics/extformats.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/glcdgraphics/extformats.c b/glcdgraphics/extformats.c index 0cbcfa6..c69ee13 100644 --- a/glcdgraphics/extformats.c +++ b/glcdgraphics/extformats.c @@ -104,16 +104,16 @@ bool cExtFormatFile::Load(cImage & image, const string & fileName) uint32_t * bmpdata = new uint32_t[height * width]; //Dprintf("this image has %d colors\n", (*it).totalColors()); + bool isMatte = (*it).matte(); const PixelPacket *pix = (*it).getConstPixels(0, 0, (int)width, (int)height); - //uint8_t trans = 0; + for (int iy = 0; iy < (int)height; ++iy) { for (int ix = 0; ix < (int)width; ++ix) { - //trans = (uint8_t)(~int(pix->opacity * 255 / MaxRGB)); - //if ( trans == 0 ) { - // bmpdata[iy*width+ix] = cColor::Transparent; - //} else { + if ( isMatte && pix->opacity == MaxRGB ) { + bmpdata[iy*width+ix] = cColor::Transparent; + } else { bmpdata[iy*width+ix] = (uint32_t)( 0xFF000000 | (int(pix->red * 255 / MaxRGB) << 16) | (int(pix->green * 255 / MaxRGB) << 8) | int(pix->blue * 255 / MaxRGB)); - //} + } ++pix; } } -- cgit v1.2.3