RenderTargetBitmap.RenderAsync Methode

Definition

Überlädt

Name Beschreibung
RenderAsync(UIElement)

Rendert eine Momentaufnahme einer visuellen UIElement-Struktur in einer Bildquelle.

RenderAsync(UIElement, Int32, Int32)

Rendert eine Momentaufnahme einer visuellen UIElement-Struktur in einer Bildquelle. Geben Sie Werte für scaledWidth und scaledHeight an, um die Renderingdimension der ursprünglichen Quelle zu ändern.

RenderAsync(UIElement)

Rendert eine Momentaufnahme einer visuellen UIElement-Struktur in einer Bildquelle.

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

Parameter

element
UIElement

Ein UIElement , das das zu rendernde visuelle Strukturfragment darstellt.

Gibt zurück

Ein IAsyncAction-Objekt , mit dem Sie den asynchronen Vorgang steuern können.

Attribute

Hinweise

Das gerenderte Bild wird von dieser Methode nicht zurückgegeben. Wenn der asynchrone Statuswert jedoch nicht auf einen Fehler hinweist, enthält die renderTargetBitmap , die aufgerufen wurde, gültige Bildinformationen. Die RenderTargetBitmap kann dann im Code als Bildquelle für ein Image-Steuerelement oder eine ImageBrush-Instanz zugewiesen werden.

Wenn Sie eine Pixelpufferdarstellung des gerenderten Inhalts und nicht nur eine Bildquelle benötigen, verwenden Sie GetPixelsAsync nach dem Aufruf von RenderAsync.

Dies ist eine asynchrone Methode, sodass keine Garantie für die genaue Framesynchronisierung mit der UI-Quelle besteht. Informationen zu anderen Einschränkungen finden Sie in den Hinweisen in RenderTargetBitmap .

Sie können NULL für den Elementparameter übergeben und die visuelle Stammstruktur der App rendert.

Visuelle XAML-Elemente und RenderTargetBitmap-Erfassungsfunktionen

Es gibt einige Szenarien für durch XAML verfasste visuelle Inhalte, die Sie nicht in einer RenderTargetBitmap erfassen können:

  • Videoinhalte in einem MediaPlayerElement können nicht mithilfe von RenderTargetBitmap erfasst werden. Dazu gehört das Aufnehmen von Frames aus Videoinhalten.
  • Benutzerdefinierte Microsoft DirectX-Inhalte (Ihre eigene Swapchain) in einem SwapChainBackgroundPanel- oder SwapChainPanel-Element können nicht mithilfe von RenderTargetBitmap erfasst werden.
  • Inhalte, die sich in der Struktur befinden, aber mit der auf "Reduziert" festgelegten Sichtbarkeit werden nicht erfasst.
  • Inhalte, die nicht direkt mit der visuellen XAML-Struktur verbunden sind, und der Inhalt des Hauptfensters wird nicht erfasst. Dazu gehören Popupinhalte , die als unterfenster angesehen werden.
  • Inhalte, die nicht erfasst werden können, werden im aufgenommenen Bild als leer angezeigt, aber andere Inhalte in derselben visuellen Struktur können weiterhin erfasst und gerendert werden (das Vorhandensein von Inhalten, die nicht erfasst werden können, führt nicht zur Ungültigkeit der gesamten Aufnahme dieser XAML-Komposition).
  • Inhalte, die sich in der visuellen XAML-Struktur befinden, aber außerhalb des Bildschirms erfasst werden können, solange sie nichtreduziert oder in den anderen eingeschränkten Fällen nicht sichtbar = sind.

Weitere Informationen

Gilt für:

RenderAsync(UIElement, Int32, Int32)

Rendert eine Momentaufnahme einer visuellen UIElement-Struktur in einer Bildquelle. Geben Sie Werte für scaledWidth und scaledHeight an, um die Renderingdimension der ursprünglichen Quelle zu ändern.

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

Parameter

element
UIElement

Ein UIElement , das das zu rendernde visuelle Strukturfragment darstellt.

scaledWidth
Int32

int

Gibt die Zielbreite an, an der gerendert werden soll. Der Standardwert lautet 0. scaledWidth und/oder scaledHeight kann optional sein; siehe Hinweise.

scaledHeight
Int32

int

Gibt die Zielhöhe an, an der gerendert werden soll. Der Standardwert lautet 0. scaledWidth und/oder scaledHeight kann optional sein; siehe Hinweise.

Gibt zurück

Ein IAsyncAction-Objekt , mit dem Sie den asynchronen Vorgang steuern können.

Attribute

Hinweise

Das gerenderte Bild wird von dieser Methode nicht zurückgegeben. Wenn der asynchrone Statuswert jedoch nicht auf einen Fehler hinweist, enthält die renderTargetBitmap , die aufgerufen wurde, gültige Bildinformationen. Die RenderTargetBitmap kann dann im Code als Bildquelle für ein Image-Steuerelement oder eine ImageBrush-Instanz zugewiesen werden.

Wenn Sie eine Pixelpufferdarstellung des gerenderten Inhalts und nicht nur eine Bildquelle benötigen, verwenden Sie GetPixelsAsync nach dem Aufruf von RenderAsync.

Dies ist eine asynchrone Methode, sodass keine Garantie für die genaue Framesynchronisierung mit der UI-Quelle besteht. Informationen zu anderen Einschränkungen finden Sie in den Hinweisen in RenderTargetBitmap .

Das Aufrufen von RenderAsync schlägt fehl, wenn die skalierte Höhe oder Breite der visuellen UIElement-Struktur größer als die Menge des Videospeichers ist, den das System intern zuordnen kann.

Sie können NULL für den Elementparameter übergeben und die visuelle Stammstruktur der App rendert.

scaledWidth- und scaledHeight-Werte

Wenn "scaledWidth " und " scaledHeight " festgelegt sind, wird das Seitenverhältnis der ursprünglichen Bitmap ignoriert, und Ihre Werte können das Seitenverhältnis ändern.

Wenn entweder scaledWidth oder scaledHeight , aber nicht beide angegeben ist, wird der Wert, den Sie steuerelemente bereitstellen, die Dimension beibehalten, aber das Seitenverhältnis wird beibehalten (die andere Dimension wird basierend auf der Faktorierung des Seitenverhältnisses der ursprünglichen Bitmap berechnet).

Sie können diese Methode aufrufen und die scaledWidth - und scaledHeight-Werte beide als 0 belassen. In diesem Fall wird die UIElement-Struktur in ihrer systemeigenen Größe gerendert. Dies ist das gleiche Verhalten wie die RenderAsync(UIElement)- Überladung.

Die maximale gerenderte Größe einer visuellen XAML-Struktur wird durch die maximalen Dimensionen einer Microsoft DirectX-Textur eingeschränkt. Weitere Informationen finden Sie unter Ressourcenbeschränkungen (). Dieser Ressourcengrenzwert kann je nach Hardware variieren, auf der die App ausgeführt wird. Sehr große Inhalte, die diesen Grenzwert überschreiten, können entsprechend skaliert werden. Wenn Skalierungsgrenzwerte auf diese Weise angewendet werden, kann die gerenderte Größe nach der Skalierung mithilfe der PixelWidth- und PixelHeight-Eigenschaften abgefragt werden. Beispielsweise kann eine visuelle XAML-Struktur von 10000 x 1000 Pixeln auf 4096 x 4096 Pixel skaliert werden, ein Beispiel für einen bestimmten Ressourcengrenzwert für 2D-Texturen, die angewendet werden.

Visuelle XAML-Elemente und RenderTargetBitmap-Erfassungsfunktionen

Es gibt einige Szenarien für durch XAML verfasste visuelle Inhalte, die Sie nicht in einer RenderTargetBitmap erfassen können:

  • Videoinhalte in einem MediaPlayerElement können nicht mithilfe von RenderTargetBitmap erfasst werden. Dazu gehört das Aufnehmen von Frames aus Videoinhalten.
  • Benutzerdefinierte Microsoft DirectX-Inhalte (Ihre eigene Swapchain) in einem SwapChainBackgroundPanel- oder SwapChainPanel-Element können nicht mithilfe von RenderTargetBitmap erfasst werden.
  • Inhalte, die sich in der Struktur befinden, aber mit der auf "Reduziert" festgelegten Sichtbarkeit werden nicht erfasst.
  • Inhalte, die nicht direkt mit der visuellen XAML-Struktur verbunden sind, und der Inhalt des Hauptfensters wird nicht erfasst. Dazu gehören Popupinhalte , die als unterfenster angesehen werden.
  • Für Windows Phone 8.x-App: Der Inhalt eines WebView-Steuerelements kann nicht in eine RenderTargetBitmap gerendert werden.
  • Inhalte, die nicht erfasst werden können, werden im aufgenommenen Bild als leer angezeigt, aber andere Inhalte in derselben visuellen Struktur können weiterhin erfasst und gerendert werden (das Vorhandensein von Inhalten, die nicht erfasst werden können, führt nicht zur Ungültigkeit der gesamten Aufnahme dieser XAML-Komposition).
  • Inhalte, die sich in der visuellen XAML-Struktur befinden, aber außerhalb des Bildschirms erfasst werden können, solange sie nichtreduziert oder in den anderen eingeschränkten Fällen nicht sichtbar = sind.

Weitere Informationen

Gilt für: