我正在尝试在Silverlight3 RTM中使用新的WriteableBitmap,但我失败了..所有我用来查看和玩耍的示例和演示在beta版本中都不再起作用。我知道他们稍微改变了类接口,例如删除了Lock和Release方法(仍然记录在官方文档页面中),还更改了构造函数(不再将像素格式作为参数,据我所知,所有位图都将是32位)。
有人成功运行了一个示例吗?这里有一个最简单的示例(我在某个论坛上找到并稍作修改);它不起作用,没有显示任何位图。
是的,我在调用它..这里有一个最小的示例(我在网上找到并稍作修改);它不起作用,我得到了一个空白页(xaml包含一个名为inputImage的单个Image控件)。
感谢您的帮助,Riccardo。
有人成功运行了一个示例吗?这里有一个最简单的示例(我在某个论坛上找到并稍作修改);它不起作用,没有显示任何位图。
是的,我在调用它..这里有一个最小的示例(我在网上找到并稍作修改);它不起作用,我得到了一个空白页(xaml包含一个名为inputImage的单个Image控件)。
int imageWidth = 100;
int imageHeight = 100;
//Create the bitmap
WriteableBitmap b = new WriteableBitmap(imageWidth, imageHeight);
for (int x = 0; x < imageWidth; x++)
{
for (int y = 0; y < imageHeight; y++)
{
// generate a color in 32bit format
byte[] components = new byte[4];
components[0] = (byte)(x % 255); // blue
components[1] = (byte)(y % 255); // green
components[2] = (byte)(x * y % 255); // red
components[3] = 0; // unused
int pixelValue = BitConverter.ToInt32(components, 0);
// Set the value for the
b.Pixels[y * imageWidth + x] = pixelValue;
}
}
b.Invalidate();
inputImage.Source = b;
感谢您的帮助,Riccardo。