将Marshal.Copy位图转换为Silverlight等效

时间:2012-12-24 14:12:55

标签: silverlight writeablebitmap

我在将现有组件的以下代码段转换为Silverlight时遇到问题。

Bitmap bmp = new Bitmap(width, height);
BitmapData bmpData = bmp.LockBits(new Rectangle(0, 0, width, height), ImageLockMode.WriteOnly, PixelFormat.Format24bppRgb);
Marshal.Copy(data, 0, bmpData.Scan0, data.Length);
bmp.UnlockBits(bmpData);

数据为byte[]widthheight是所需的图片宽度和高度。

有人可以就此分享一些想法吗?

1 个答案:

答案 0 :(得分:0)

using (MemoryStream ms = new MemoryStream(imageBytes, 0, imageBytes.Length))
{
    BitmapImage im = new BitmapImage();
    im.SetSource(ms);
    this.imageControl.Source = im;
}