Windows runtime 如何在WinRT中拍摄Windows Phone 8.1的屏幕截图?
我知道如何在Silverlight中实现这一点,但我找不到足够的信息说明如何在WinRT中实现这一点 我读到这篇文章可能会有所帮助,但确切的组件WinRT XAML Toolkit-Composition似乎与Windows Universal App不兼容。我目前正在开发Windows Phone 8.1部分 似乎也没有类似于Windows runtime 如何在WinRT中拍摄Windows Phone 8.1的屏幕截图?,windows-runtime,windows-phone-8.1,winrt-xaml-toolkit,writeablebitmapex,Windows Runtime,Windows Phone 8.1,Winrt Xaml Toolkit,Writeablebitmapex,我知道如何在Silverlight中实现这一点,但我找不到足够的信息说明如何在WinRT中实现这一点 我读到这篇文章可能会有所帮助,但确切的组件WinRT XAML Toolkit-Composition似乎与Windows Universal App不兼容。我目前正在开发Windows Phone 8.1部分 似乎也没有类似于WriteableBitmap.Render的方法 我还读到中的blit方法可能会有所帮助,但我找不到任何关于如何实现这一点的示例 任何deas?您都可以使用它从包含在V
WriteableBitmap.Render的方法
我还读到中的blit
方法可能会有所帮助,但我找不到任何关于如何实现这一点的示例
任何deas?您都可以使用它从包含在VisualTree中的UIElement创建图像
var renderTargetBitmap = new RenderTargetBitmap();
await renderTargetBitmap.RenderAsync(uielement);
var pixels = await renderTargetBitmap.GetPixelsAsync();
var logicalDpi = DisplayInformation.GetForCurrentView().LogicalDpi;
var encoder = await BitmapEncoder.CreateAsync(encoderId, stream);
encoder.SetPixelData(
BitmapPixelFormat.Bgra8,
BitmapAlphaMode.Ignore,
(uint)renderTargetBitmap.PixelWidth,
(uint)renderTargetBitmap.PixelHeight,
logicalDpi,
logicalDpi,
pixels.ToArray());
await encoder.FlushAsync();
return renderTargetBitmap;
您可以使用从包含在VisualTree中的UIElement创建图像
var renderTargetBitmap = new RenderTargetBitmap();
await renderTargetBitmap.RenderAsync(uielement);
var pixels = await renderTargetBitmap.GetPixelsAsync();
var logicalDpi = DisplayInformation.GetForCurrentView().LogicalDpi;
var encoder = await BitmapEncoder.CreateAsync(encoderId, stream);
encoder.SetPixelData(
BitmapPixelFormat.Bgra8,
BitmapAlphaMode.Ignore,
(uint)renderTargetBitmap.PixelWidth,
(uint)renderTargetBitmap.PixelHeight,
logicalDpi,
logicalDpi,
pixels.ToArray());
await encoder.FlushAsync();
return renderTargetBitmap;
您可以使用从包含在VisualTree中的UIElement创建图像
var renderTargetBitmap = new RenderTargetBitmap();
await renderTargetBitmap.RenderAsync(uielement);
var pixels = await renderTargetBitmap.GetPixelsAsync();
var logicalDpi = DisplayInformation.GetForCurrentView().LogicalDpi;
var encoder = await BitmapEncoder.CreateAsync(encoderId, stream);
encoder.SetPixelData(
BitmapPixelFormat.Bgra8,
BitmapAlphaMode.Ignore,
(uint)renderTargetBitmap.PixelWidth,
(uint)renderTargetBitmap.PixelHeight,
logicalDpi,
logicalDpi,
pixels.ToArray());
await encoder.FlushAsync();
return renderTargetBitmap;
您可以使用从包含在VisualTree中的UIElement创建图像
var renderTargetBitmap = new RenderTargetBitmap();
await renderTargetBitmap.RenderAsync(uielement);
var pixels = await renderTargetBitmap.GetPixelsAsync();
var logicalDpi = DisplayInformation.GetForCurrentView().LogicalDpi;
var encoder = await BitmapEncoder.CreateAsync(encoderId, stream);
encoder.SetPixelData(
BitmapPixelFormat.Bgra8,
BitmapAlphaMode.Ignore,
(uint)renderTargetBitmap.PixelWidth,
(uint)renderTargetBitmap.PixelHeight,
logicalDpi,
logicalDpi,
pixels.ToArray());
await encoder.FlushAsync();
return renderTargetBitmap;
如果要显示它,则使用更简单,为了保存,您必须按照上面的答案进行操作:
RenderTargetBitmap renderTargetBitmap = new RenderTargetBitmap();
await renderTargetBitmap.RenderAsync(RenderedGrid);
RenderedImage.Source = renderTargetBitmap;
如果要显示它,则使用更简单,为了保存,您必须按照上面的答案进行操作:
RenderTargetBitmap renderTargetBitmap = new RenderTargetBitmap();
await renderTargetBitmap.RenderAsync(RenderedGrid);
RenderedImage.Source = renderTargetBitmap;
如果要显示它,则使用更简单,为了保存,您必须按照上面的答案进行操作:
RenderTargetBitmap renderTargetBitmap = new RenderTargetBitmap();
await renderTargetBitmap.RenderAsync(RenderedGrid);
RenderedImage.Source = renderTargetBitmap;
如果要显示它,则使用更简单,为了保存,您必须按照上面的答案进行操作:
RenderTargetBitmap renderTargetBitmap = new RenderTargetBitmap();
await renderTargetBitmap.RenderAsync(RenderedGrid);
RenderedImage.Source = renderTargetBitmap;
为什么投票被否决?这不是一个编程问题吗?没关系。我想出来了;)我同意,没有评论的否决票是粗鲁的。只是对工具包的一点评论-我故意降低了对合成库的支持和可见性,因为8.1添加了RenderTargetBitmap
,它解决了大多数相同的场景。我把它放在工具包源代码中作为灵感,以防在任何时候,RenderTargetBitmap
都不支持某些重要场景。例如,如果需要的话,它可以被修改为用于将GPU支持的像素着色器效果添加到您的UI中。为什么是向下投票?这不是一个编程问题吗?没关系。我想出来了;)我同意,没有评论的否决票是粗鲁的。只是对工具包的一点评论-我故意降低了对合成库的支持和可见性,因为8.1添加了RenderTargetBitmap
,它解决了大多数相同的场景。我把它放在工具包源代码中作为灵感,以防在任何时候,RenderTargetBitmap
都不支持某些重要场景。例如,如果需要的话,它可以被修改为用于将GPU支持的像素着色器效果添加到您的UI中。为什么是向下投票?这不是一个编程问题吗?没关系。我想出来了;)我同意,没有评论的否决票是粗鲁的。只是对工具包的一点评论-我故意降低了对合成库的支持和可见性,因为8.1添加了RenderTargetBitmap
,它解决了大多数相同的场景。我把它放在工具包源代码中作为灵感,以防在任何时候,RenderTargetBitmap
都不支持某些重要场景。例如,如果需要的话,它可以被修改为用于将GPU支持的像素着色器效果添加到您的UI中。为什么是向下投票?这不是一个编程问题吗?没关系。我想出来了;)我同意,没有评论的否决票是粗鲁的。只是对工具包的一点评论-我故意降低了对合成库的支持和可见性,因为8.1添加了RenderTargetBitmap
,它解决了大多数相同的场景。我把它放在工具包源代码中作为灵感,以防在任何时候,RenderTargetBitmap
都不支持某些重要场景。例如,如果需要,可以对其进行修改,以将GPU支持的像素着色器效果添加到UI中。