RenderTargetBitmap.RenderAsync Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Überlädt
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
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. Nach der Rückgabe verfügt die RenderTargetBitmap, die aufgerufen wurde, über gültige Bildinformationen, solange der wert für den asynchronen Status nicht auf einen Fehler hinweist. Die RenderTargetBitmap kann dann im Code als Bildquelle für ein Image-Steuerelement oder imageBrush-instance 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 eine exakte Framesynchronisierung mit der Ui-Quelle besteht. Informationen zu anderen Einschränkungen finden Sie unter Hinweise in RenderTargetBitmap .
Sie können NULL für den Elementparameter übergeben, der die visuelle Stammstruktur der App rendert.
XAML-Visuals und RenderTargetBitmap-Erfassungsfunktionen
Es gibt einige Szenarien für XAML-zusammengestellte visuelle Inhalte, die Sie nicht in einer RenderTargetBitmap erfassen können:
- Videoinhalte in einem MediaElement oder CaptureElement können nicht mit RenderTargetBitmap erfasst werden. Dies schließt das Erfassen von Frames innerhalb von Videoinhalten ein.
- Benutzerdefinierte Microsoft DirectX-Inhalte (Ihre eigene Swap chain) in einem SwapChainBackgroundPanel oder SwapChainPanel können nicht mit RenderTargetBitmap erfasst werden.
- Inhalte, die sich in der Struktur befindet, aber die Sichtbarkeit auf Reduziert festgelegt ist, werden nicht erfasst.
- Inhalte, die nicht direkt mit der visuellen XAML-Struktur verbunden sind, und der Inhalt des Standard Fensters werden nicht erfasst. Dies schließt Popupinhalte ein, die wie ein Unterfenster gelten.
- 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 erfassten 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, ungültig macht nicht die gesamte Erfassung dieser XAML-Komposition).
- Inhalte, die sich in der visuellen XAML-Struktur befinden, aber außerhalb des Bildschirms sind, können erfasst werden, solange es sich nicht um Visibility = Collapsed oder in den anderen eingeschränkten Fällen handelt.
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
- scaledWidth
-
Int32
int
Gibt die Zielbreite an, mit der gerendert werden soll. Die Standardeinstellung ist 0. scaledWidth und/oder scaledHeight kann optional sein. siehe Hinweise.
- scaledHeight
-
Int32
int
Gibt die Zielhöhe an, in der gerendert werden soll. Die Standardeinstellung ist 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. Nach der Rückgabe verfügt die RenderTargetBitmap, die aufgerufen wurde, über gültige Bildinformationen, solange der wert für den asynchronen Status nicht auf einen Fehler hinweist. Die RenderTargetBitmap kann dann im Code als Bildquelle für ein Image-Steuerelement oder imageBrush-instance 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 eine exakte Framesynchronisierung mit der Ui-Quelle besteht. Informationen zu anderen Einschränkungen finden Sie unter Hinweise in RenderTargetBitmap .
Beim Aufrufen von RenderAsync tritt ein Fehler auf, wenn die skalierte Höhe oder Breite der visuellen UIElement-Struktur größer ist als die Menge an Videospeicher, die das System intern zuordnen kann.
Sie können NULL für den Elementparameter übergeben, der 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 beides angegeben ist, steuert der Wert, den Sie bereitstellen, diese Dimension, 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 Werte scaledWidth und scaledHeight als 0 belassen. In diesem Fall wird die UIElement-Struktur in ihrer nativen 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 Ressourcenlimits (). Dieses Ressourcenlimit kann abhängig von der 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 10000 Pixeln auf 4096 x 4096 Pixel skaliert werden, ein Beispiel für ein bestimmtes Ressourcenlimit für 2D-Texturen, die angewendet werden.
XAML-Visuals und RenderTargetBitmap-Erfassungsfunktionen
Es gibt einige Szenarien für XAML-zusammengestellte visuelle Inhalte, die Sie nicht in einer RenderTargetBitmap erfassen können:
- Videoinhalte in einem MediaElement oder CaptureElement können nicht mit RenderTargetBitmap erfasst werden. Dies schließt das Erfassen von Frames innerhalb von Videoinhalten ein.
- Benutzerdefinierte Microsoft DirectX-Inhalte (Ihre eigene Swap chain) in einem SwapChainBackgroundPanel oder SwapChainPanel können nicht mit RenderTargetBitmap erfasst werden.
- Inhalte, die sich in der Struktur befindet, aber die Sichtbarkeit auf Reduziert festgelegt ist, werden nicht erfasst.
- Inhalte, die nicht direkt mit der visuellen XAML-Struktur verbunden sind, und der Inhalt des Standard Fensters werden nicht erfasst. Dies schließt Popupinhalte ein, die wie ein Unterfenster gelten.
- 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 erfassten 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, ungültig macht nicht die gesamte Erfassung dieser XAML-Komposition).
- Inhalte, die sich in der visuellen XAML-Struktur befinden, aber außerhalb des Bildschirms sind, können erfasst werden, solange es sich nicht um Visibility = Collapsed oder in den anderen eingeschränkten Fällen handelt.