Flo*_*oen 7 silverlight xna screenshot
我正试图从silverlight 5应用程序中截取子类XNA DrawingSurface元素的屏幕截图.这个sl应用程序将在aspx页面内运行.
这是我迄今为止没有成功的尝试:
WriteableBitmap bmp = new WriteableBitmap(LayoutRoot, null);
testImage.Source = bmp;
Run Code Online (Sandbox Code Playgroud)
LayoutRoot是silverlight页面上的父控件,testImage只是页面上的Image控件,用于查看屏幕截图是否正确.
这将使页面上的所有silverlight控件都很好,但是图形表面部分仍然是空的.换句话说,XNA内容不会渲染到图像中.
我还尝试将XNA内容渲染为RenderTarget2D,但渲染目标的silverlight版本似乎没有任何方法来保存数据.我看到一些WP7示例使用了一个名为SaveAsJpeg()的方法,但是在类的SL5版本中似乎没有.
我很感激任何帮助.
映入眼帘,
弗洛里斯
一种可能性是将屏幕绘制到 RenderTarget2D 中,然后使用 SaveAsPng 方法,如下所示:
using (Stream stream = File.OpenWrite("filename.png"))
{
renderTarget2D.SaveAsPng(stream, renderTarget2D.Width, renderTarget2D.Height);
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
596 次 |
最近记录: |