如何使用WritableBitmapEx从xaml控件创建位图图像.在我的winRT应用程序中,我需要创建一个窗口快照,用于实现Pin to Tile(固定辅助磁贴).我发现winRT中缺少WritableBitmap.render().如何使用WritableBitmapEx实现此功能.
不知怎的,他们错过了实现WriteableBitmap.
Render(),而我从听到它可能会出现在SDK的更高版本中,现在你的选择是使用WriteableBitmap并用控件的内容逐个像素地填充它,也许是在
WriteableBitmapEx的帮助下或者使用DirectX,也许是在SharpDX的帮助下,它是DirectX的包装器,可以在C#应用程序中使用.如果要渲染任何文本,则需要使用DirectX / Direct2D / DirectWrite.如果您的UI很简单,使用DirectX并不难.有一个样本似乎是开始
here的好地方.
编辑*
然后还有一个WriteableBitmap.Render() extension method我在WinRT XAML Toolkit开始实现,它对渲染可视化树有一些有限但可能有用的支持.我计划在必要时扩展它以支持更多的UI元素.它目前支持典型的TextBlocks和具有纯色或渐变背景的形状.
编辑2 *
Windows 8.1添加了RenderTargetBitmap.RenderAsync()
API,这是非常有用的,尽管它有一些限制,例如:它需要渲染的UI成为可视树的一部分(虽然它可以在隐藏的面板中),错过视频播放,DirectX内容,我也相信WebView内容.