1

我有一个带有图像的 WPF 窗口。我想快速更改图像,就像我在播放视频一样。假设我的所有数据都在内存中,有没有比以下方法更快地在窗口上绘制的方法:

public void updateCanvas(byte[] imageData, RECT bounds)
    {
        TypeConverter tc = TypeDescriptor.GetConverter(typeof(Bitmap));
        Bitmap bitmap = (Bitmap)tc.ConvertFrom(imageData);

        Graphics g = Graphics.FromImage(canvas);
        g.DrawImageUnscaled(bitmap, bounds.left, bounds.top);
        this.Image.Source = Imaging.CreateBitmapSourceFromHBitmap(canvas.GetHbitmap(), IntPtr.Zero, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions());
        this.Image.InvalidateVisual();
    }

有没有办法只存储指向渲染字节数据的指针并进行字节复制?还是在窗口上绘图的更快方法(比如 DirectX)?

数据生成了,所以我不能只播放视频文件。

谢谢!

4

0 回答 0