共用方式為


RenderTargetBitmap.RenderAsync 方法

定義

多載

RenderAsync(UIElement)

UIElement 視覺化樹狀結構的快照集轉譯為影像來源。

RenderAsync(UIElement, Int32, Int32)

UIElement 視覺化樹狀結構的快照集轉譯為影像來源。 指定 scaledWidthscaledHeight 的值,以改變原始來源的轉譯維度。

RenderAsync(UIElement)

UIElement 視覺化樹狀結構的快照集轉譯為影像來源。

public:
 virtual IAsyncAction ^ RenderAsync(UIElement ^ element) = RenderAsync;
/// [Windows.Foundation.Metadata.Overload("RenderAsync")]
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncAction RenderAsync(UIElement const& element);
[Windows.Foundation.Metadata.Overload("RenderAsync")]
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncAction RenderAsync(UIElement element);
function renderAsync(element)
Public Function RenderAsync (element As UIElement) As IAsyncAction

參數

element
UIElement

UIElement,表示要呈現的可視化樹狀結構片段。

傳回

IAsyncAction 物件,可用來控制異步操作。

屬性

備註

這個方法不會傳迴轉譯的影像。 但在傳回之後,只要異步 狀態 值未指出錯誤,呼叫它的 RenderTargetBitmap 就會有有效的影像資訊。 RenderTargetBitmap 接著可以在程式代碼中指派為 Image 控件或 ImageBrush 實例的影像來源。

如果您需要轉譯內容的像素緩衝區表示,而不只是影像來源,請在呼叫 RenderAsync 之後使用 GetPixelsAsync

這是異步方法,因此不保證確切的畫面同步處理與UI來源。 如需其他限制的詳細資訊,請參閱 RenderTargetBitmap 中的備註。

您可以傳遞元素參數的 Null,並轉譯應用程式的根可視化樹狀結構。

XAML 視覺效果和 RenderTargetBitmap 擷取功能

XAML 撰寫的視覺內容有幾個案例,您無法擷取至 RenderTargetBitmap

  • MediaPlayerElement 中的視訊內容無法使用 RenderTargetBitmap 來擷取。 這包括從視訊內容中擷取畫面格。
  • 自定義 Microsoft DirectX 內容 (您自己的交換鏈結) SwapChainBackgroundPanelSwapChainPanel 無法使用 RenderTargetBitmap 來擷取。
  • 樹狀結構中,但其 可見度 設定為 Collapsed 的內容將不會擷取。
  • 未直接連線到 XAML 可視化樹狀結構的內容,而且不會擷取主視窗的內容。 這包括 快顯 內容,這被視為類似子視窗。
  • 無法擷取的內容會在擷取的影像中顯示為空白,但相同可視化樹狀結構中的其他內容仍可擷取,而且會轉譯 (無法擷取的內容存在,並不會使該 XAML 組合的整個擷取失效) 。
  • XAML 可視化樹狀結構中但螢幕外畫面中的內容可以擷取,只要它不是 [可見度 = 疊] 或在其他受限制的案例中即可。

另請參閱

適用於

RenderAsync(UIElement, Int32, Int32)

UIElement 視覺化樹狀結構的快照集轉譯為影像來源。 指定 scaledWidthscaledHeight 的值,以改變原始來源的轉譯維度。

public:
 virtual IAsyncAction ^ RenderAsync(UIElement ^ element, int scaledWidth, int scaledHeight) = RenderAsync;
/// [Windows.Foundation.Metadata.Overload("RenderToSizeAsync")]
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncAction RenderAsync(UIElement const& element, int const& scaledWidth, int const& scaledHeight);
[Windows.Foundation.Metadata.Overload("RenderToSizeAsync")]
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncAction RenderAsync(UIElement element, int scaledWidth, int scaledHeight);
function renderAsync(element, scaledWidth, scaledHeight)
Public Function RenderAsync (element As UIElement, scaledWidth As Integer, scaledHeight As Integer) As IAsyncAction

參數

element
UIElement

UIElement,表示要呈現的可視化樹狀結構片段。

scaledWidth
Int32

int

指定要呈現的目標寬度。 預設值是 0。 scaledWidth 和/或 scaledHeight 可以是選擇性的;請參閱。

scaledHeight
Int32

int

指定要呈現的目標高度。 預設值是 0。 scaledWidth 和/或 scaledHeight 可以是選擇性的;請參閱。

傳回

IAsyncAction 物件,可用來控制異步操作。

屬性

備註

這個方法不會傳迴轉譯的影像。 但在傳回之後,只要異步 狀態 值未指出錯誤,呼叫它的 RenderTargetBitmap 就會有有效的影像資訊。 RenderTargetBitmap 接著可以在程式代碼中指派為 Image 控件或 ImageBrush 實例的影像來源。

如果您需要轉譯內容的像素緩衝區表示,而不只是影像來源,請在呼叫 RenderAsync 之後使用 GetPixelsAsync

這是異步方法,因此不保證確切的畫面同步處理與UI來源。 如需其他限制的詳細資訊,請參閱 RenderTargetBitmap 中的備註。

如果UIElement視覺化樹狀結構的縮放高度或寬度大於系統可在內部配置的視訊記憶體數量,呼叫 RenderAsync 將會失敗。

您可以傳遞元素參數的 Null,並轉譯應用程式的根可視化樹狀結構。

scaledWidthscaledHeight

如果 同時設定 scaledWidthscaledHeight ,則會忽略原始位圖的外觀比例,而且您的值可以改變外觀比例。

如果指定 scaledWidthscaledHeight ,但未同時指定兩者,則您提供該維度但外觀比例的值會保留 (另一個維度會根據根據原始位圖的外觀比例來計算) 。

您可以呼叫此方法,並將 scaledWidthscaledHeight 值保留為 0。 在此情況下, UIElement 樹狀結構會以原生大小呈現。 這與 RenderAsync (UIElement) 多載的行為相同。

XAML 可視化樹狀結構的最大轉譯大小受限於 Microsoft DirectX 紋理的最大維度;如需詳細資訊,請參閱 資源限制 () 。 此資源限制可能會因應用程式執行所在的硬體而有所不同。 超過此限制的非常大型內容可能會調整為符合。 如果以這種方式套用縮放限制,可以使用 PixelWidthPixelHeight 屬性查詢縮放後的轉譯大小。 例如,10000 x 10000 像素 XAML 可視化樹狀結構可能會縮放為 4096 像素,例如套用 2D 紋理的特定資源限制。

XAML 視覺效果和 RenderTargetBitmap 擷取功能

XAML 撰寫的視覺內容有幾個案例,您無法擷取至 RenderTargetBitmap

  • MediaPlayerElement 中的視訊內容無法使用 RenderTargetBitmap 來擷取。 這包括從視訊內容中擷取畫面格。
  • 自定義 Microsoft DirectX 內容 (您自己的交換鏈結) SwapChainBackgroundPanelSwapChainPanel 無法使用 RenderTargetBitmap 來擷取。
  • 樹狀結構中,但其 可見度 設定為 Collapsed 的內容將不會擷取。
  • 未直接連線到 XAML 可視化樹狀結構的內容,而且不會擷取主視窗的內容。 這包括 快顯 內容,這被視為類似子視窗。
  • 對於 Windows Phone 8.x 應用程式:WebView 控件的內容無法轉譯為 RenderTargetBitmap
  • 無法擷取的內容會在擷取的影像中顯示為空白,但相同可視化樹狀結構中的其他內容仍可擷取,而且會轉譯 (無法擷取的內容存在,並不會使該 XAML 組合的整個擷取失效) 。
  • XAML 可視化樹狀結構中但螢幕外畫面中的內容可以擷取,只要它不是 [可見度 = 疊] 或在其他受限制的案例中即可。

另請參閱

適用於