diff options
author | mrwastl <mrwastl@users.sourceforge.net> | 2011-06-17 23:15:55 +0200 |
---|---|---|
committer | mrwastl <mrwastl@users.sourceforge.net> | 2011-06-17 23:15:55 +0200 |
commit | ac638a71c925da26a74abfdb1c8a108dcaacae6e (patch) | |
tree | 3f753ab08e62fc2069b14097562de60e158f509e /glcdgraphics/extformats.c | |
parent | 5a1e0240ba2083f96df6237fdeb8ff783ef13fe0 (diff) | |
download | graphlcd-base-ac638a71c925da26a74abfdb1c8a108dcaacae6e.tar.gz graphlcd-base-ac638a71c925da26a74abfdb1c8a108dcaacae6e.tar.bz2 |
add support for alpha channel
Diffstat (limited to 'glcdgraphics/extformats.c')
-rw-r--r-- | glcdgraphics/extformats.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/glcdgraphics/extformats.c b/glcdgraphics/extformats.c index c69ee13..75d3693 100644 --- a/glcdgraphics/extformats.c +++ b/glcdgraphics/extformats.c @@ -112,7 +112,8 @@ bool cExtFormatFile::Load(cImage & image, const string & fileName) 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)); + //bmpdata[iy*width+ix] = (uint32_t)( 0xFF000000 | (int(pix->red * 255 / MaxRGB) << 16) | (int(pix->green * 255 / MaxRGB) << 8) | int(pix->blue * 255 / MaxRGB)); + bmpdata[iy*width+ix] = (uint32_t)( (int(255 - (pix->opacity * 255 / MaxRGB)) << 24) | (int(pix->red * 255 / MaxRGB) << 16) | (int(pix->green * 255 / MaxRGB) << 8) | int(pix->blue * 255 / MaxRGB)); } ++pix; } |