Alpha blending colors in .NET Compact Framwork 2.0
Posted
by Adam Haile
on Stack Overflow
See other posts from Stack Overflow
or by Adam Haile
Published on 2008-08-18T12:17:16Z
Indexed on
2010/05/20
0:40 UTC
Read the original article
Hit count: 293
In the Full .NET framework you can use the Color.FromArgb() method to create a new color with alpha blending, like this:
Color blended = Color.FromArgb(alpha, color);
or
Color blended = Color.FromArgb(alpha, red, green , blue);
However in the Compact Framework (2.0 specifically), neither of those prototypes are valid, you only get:
Color.FromArgb(int red, int green, int blue);
and
Color.FromArgb(int val);
The first one, obviously, doesn't even let you enter an alpha value, but the documentation for the latter shows that "val" is a 32bit ARGB value (as 0xAARRGGBB as opposed to the standard 24bit 0xRRGGBB), so it would make sense that you could just build the ARGB value and pass it to the function. I tried this with the following:
private Color FromARGB(byte alpha, byte red, byte green, byte blue)
{
int val = (alpha << 24) | (red << 16) | (green << 8) | blue;
return Color.FromArgb(val);
}
But no matter what I do, the alpha blending never works, the resulting color always as full opacity, even when setting the alpha value to 0.
Has anyone gotten this to work on Compact Framework?
© Stack Overflow or respective owner