我需要在Windows 8应用中渲染一些自定义PNG。
基本上我需要创建一个自定义实时图块,方法是将我的应用程序中的一些图形放在一个图像的顶部,用于实时图块,唯一的方法是将PNG渲染到磁盘see here。
我应该使用哪个库来执行此操作?我的第一个想法是使用Xaml UserControl
和RenderTargetBitmap
,但它在Metro应用程序中不可用。
答案 0 :(得分:1)
目前唯一的选择是使用DirectX(或SharpDX)来创建图像。您可能必须使用低级DirectX API重新创建绘图。 如果您的绘图很简单,WritableBitmapEx也可能会有所帮助。
答案 1 :(得分:1)
WinRT XAML Toolkit有一些WriteableBitmap的扩展方法,您也可以使用它们。您可以使用WriteableBitmapLoadExtensions进行加载,使用WriteableBitmapSaveExtensions进行保存。它具有相当有限的blitting功能,但是因为WriteableBitmapEx已经公开并且无论如何都很简单。 WriteableBitmapBlitBlockExtensions只是一种从相同宽度的位图中对全像素像素进行blit的方法。
编辑* RenderTargetBitmap
现在可在Windows 8.1中使用。它虽然不支持某些元素(我认为它不会渲染相机预览,媒体元素和WebViews
)。