在Silverlight 3中,现在有一个WriteableBitmap可以提供get/put像素的功能。可以通过以下方式实现:
// setting a pixel example
WriteableBitmap bitmap = new WriteableBitmap(400, 200);
Color c = Colors.Purple;
bitmap.Pixels[0] = c.A << 24 | c.R << 16 | c.G << 8 | c.B;
基本上,设置一个像素涉及到设置它的颜色,这是通过按位移动 alpha、red、blue 和 green 值来转换为整数的。
我的问题是,如何将一个整数转换回颜色?在这个例子中缺少什么东西:
// getting a pixel example
int colorAsInt = bitmap.Pixels[0];
Color c;
// TODO:: fill in the color c from the integer ??
感谢您可能提供的任何帮助,我对位运算不熟悉,我相信其他人在某个时候也会遇到这个障碍。