Silverlight 3 可写位图问题

3
我正在尝试在Silverlight3 RTM中使用新的WriteableBitmap,但我失败了..所有我用来查看和玩耍的示例和演示在beta版本中都不再起作用。我知道他们稍微改变了类接口,例如删除了Lock和Release方法(仍然记录在官方文档页面中),还更改了构造函数(不再将像素格式作为参数,据我所知,所有位图都将是32位)。
有人成功运行了一个示例吗?这里有一个最简单的示例(我在某个论坛上找到并稍作修改);它不起作用,没有显示任何位图。
是的,我在调用它..这里有一个最小的示例(我在网上找到并稍作修改);它不起作用,我得到了一个空白页(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。
2个回答

2

0

我认为你还应该在XAML中将inputImage的宽度和高度设置为100 x 100,以便看到图像...


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接