繁体   English   中英

如何更改Writeablebitmap的大小?

[英]How to change the size of a Writeablebitmap?

我正在尝试将XNA游戏嵌入到WPF应用程序中。

为此,我获取了XNA游戏的屏幕像素,然后通过以下方式将其复制到WriteableBitmap上:

 em_renderTarget2D.GetData(em_bytes);
 WriteableBitmap.Lock();
 System.Runtime.InteropServices.Marshal.Copy(em_bytes, 0, WriteableBitmap.BackBuffer, em_bytes.Length);
 WriteableBitmap.AddDirtyRect(new System.Windows.Int32Rect(0, 0, em_sizeViewport.X, em_sizeViewport.Y));
 WriteableBitmap.Unlock();

然后,在WPF应用程序上获取位图并显示它。

问题是,我希望能够在游戏运行时调整位图的大小(例如,当客户端调整应用程序的大小时)。

因此,我重新定义了m_bytes,rendertarget,...,并创建了一个新的writeablebitmap:

WriteableBitmap = new WriteableBitmap(em_sizeViewport.X, em_sizeViewport.Y, 96, 96, PixelFormats.Bgr565, null);

问题是,当我调整应用程序大小时,图像变成全黑...问题可能出在哪里? 即使新的宽度和新的高度与以前相同,图像还是黑色的。

看一下库http://writeablebitmapex.codeplex.com/

var resized = writeableBmp.Resize(200, 300, WriteableBitmapExtensions.Interpolation.Bilinear);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM