Windows 8 Metro App - 渲染PNG

时间:2012-08-29 14:25:48

标签: c# windows-8 windows-runtime windows-store-apps winrt-xaml

我需要在Windows 8应用中渲染一些自定义PNG。

基本上我需要创建一个自定义实时图块,方法是将我的应用程序中的一些图形放在一个图像的顶部,用于实时图块,唯一的方法是将PNG渲染到磁盘see here

我应该使用哪个库来执行此操作?我的第一个想法是使用Xaml UserControlRenderTargetBitmap,但它在Metro应用程序中不可用。

2 个答案:

答案 0 :(得分:1)

目前唯一的选择是使用DirectX(或SharpDX)来创建图像。您可能必须使用低级DirectX API重新创建绘图。 如果您的绘图很简单,WritableBitmapEx也可能会有所帮助。

答案 1 :(得分:1)

WinRT XAML Toolkit有一些WriteableBitmap的扩展方法,您也可以使用它们。您可以使用WriteableBitmapLoadExtensions进行加载,使用WriteableBitmapSaveExtensions进行保存。它具有相当有限的blitting功能,但是因为WriteableBitmapEx已经公开并且无论如何都很简单。 WriteableBitmapBlitBlockExtensions只是一种从相同宽度的位图中对全像素像素进行blit的方法。

编辑* RenderTargetBitmap现在可在Windows 8.1中使用。它虽然不支持某些元素(我认为它不会渲染相机预览,媒体元素和WebViews)。