RenderTargetBitmap.RenderAsync Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Surcharges
RenderAsync(UIElement) |
Affiche un instantané d’un élément UIElement 'arborescence visuelle sur une source d’image. |
RenderAsync(UIElement, Int32, Int32) |
Affiche un instantané d’un élément UIElement 'arborescence visuelle sur une source d’image. Spécifiez des valeurs pour scaledWidth et scaledHeight pour modifier la dimension de rendu de la source d’origine. |
RenderAsync(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
Paramètres
Retours
Objet IAsyncAction que vous pouvez utiliser pour contrôler l’opération asynchrone.
- Attributs
Remarques
L’image rendue n’est pas retournée par cette méthode. Mais après son retour, tant que la valeur
Si vous avez besoin d’une représentation tampon de pixels du contenu rendu et pas seulement d’une source d’image, utilisez GetPixelsAsync après avoir appelé RenderAsync.
Il s’agit d’une méthode asynchrone. Il n’existe donc aucune garantie de synchronisation exacte des images avec la source de l’interface utilisateur. Consultez les remarques dans RenderTargetBitmap pour plus d’informations sur d’autres limitations.
Vous pouvez passer null pour l’élément paramètre et qui affiche l’arborescence visuelle racine de l’application.
Visuels XAML et fonctionnalités de capture RenderTargetBitmap
Il existe quelques scénarios pour le contenu visuel composé en XAML que vous ne pouvez pas capturer dans un RenderTargetBitmap:
- Le contenu vidéo d’un MediaPlayerElement ne peut pas être capturé à l’aide de renderTargetBitmap. Cela inclut la capture d’images à partir du contenu vidéo.
- Le contenu Microsoft DirectX personnalisé (votre propre chaîne d’échange) à l’intérieur d’un swapChainBackgroundPanel
ou SwapChainPanel ne peut pas être capturé à l’aide deRenderTargetBitmap . - Le contenu qui se trouve dans l’arborescence, mais avec son Visibilité défini sur réduit ne sera pas capturé.
- Le contenu qui n’est pas directement connecté à l’arborescence visuelle XAML et le contenu de la fenêtre principale ne sera pas capturé. Cela inclut contenu de fenêtre contextuelle, qui est considéré comme une sous-fenêtre.
- Le contenu qui ne peut pas être capturé apparaît comme vide dans l’image capturée, mais d’autres contenus de la même arborescence visuelle peuvent toujours être capturés et seront affichés (la présence de contenu qui ne peut pas être capturé n’invalidera pas la capture entière de cette composition XAML).
- Le contenu figurant dans l’arborescence visuelle XAML, mais hors écran peut être capturé, tant qu’il n’est pas Visibilité = réduit ou dans les autres cas restreints.
Voir aussi
S’applique à
RenderAsync(UIElement, Int32, Int32)
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
Paramètres
- scaledWidth
-
Int32
int
Spécifie la largeur cible à laquelle effectuer le rendu. La valeur par défaut est 0. scaledWidth et/ou scaledHeight peuvent être facultatifs ; voir Remarques.
- scaledHeight
-
Int32
int
Spécifie la hauteur cible à laquelle effectuer le rendu. La valeur par défaut est 0. scaledWidth et/ou scaledHeight peuvent être facultatifs ; voir Remarques.
Retours
Objet IAsyncAction que vous pouvez utiliser pour contrôler l’opération asynchrone.
- Attributs
Remarques
L’image rendue n’est pas retournée par cette méthode. Mais après son retour, tant que la valeur
Si vous avez besoin d’une représentation tampon de pixels du contenu rendu et pas seulement d’une source d’image, utilisez GetPixelsAsync après avoir appelé RenderAsync.
Il s’agit d’une méthode asynchrone. Il n’existe donc aucune garantie de synchronisation exacte des images avec la source de l’interface utilisateur. Consultez les remarques dans RenderTargetBitmap pour plus d’informations sur d’autres limitations.
L’appel RenderAsync échoue si la hauteur ou la largeur mise à l’échelle de l’arborescence visuelle UIElement sont supérieures à la quantité de mémoire vidéo que le système est en mesure d’allouer en interne.
Vous pouvez passer null pour l’élément paramètre et qui affiche l’arborescence visuelle racine de l’application.
valeurs scaledWidth et scaledHeight
Si scaledWidth et scaledHeight sont tous les deux définis, le rapport d’aspect de la bitmap d’origine est ignoré et vos valeurs peuvent modifier le rapport d’aspect.
Si scaledWidth ou scaledHeight, mais pas les deux, la valeur que vous fournissez aux contrôles de cette dimension, mais le rapport d’aspect est conservé (l’autre dimension est calculée en fonction du facteur du ratio d’aspect de la bitmap d’origine).
Vous pouvez appeler cette méthode et laisser les valeurs scaledWidth et scaledHeight les deux comme 0. Dans ce cas, l’arborescence UIElement sera rendue à sa taille native. Il s’agit du même comportement que la surcharge RenderAsync(UIElement).
La taille de rendu maximale d’une arborescence visuelle XAML est limitée par les dimensions maximales d’une texture Microsoft DirectX ; Pour plus d’informations, consultez limites des ressources (). Cette limite de ressources peut varier en fonction du matériel sur lequel l’application s’exécute. Un contenu très volumineux qui dépasse cette limite peut être mis à l’échelle pour s’adapter. Si les limites de mise à l’échelle sont appliquées de cette façon, la taille rendue après la mise à l’échelle peut être interrogée à l’aide des propriétés
Visuels XAML et fonctionnalités de capture RenderTargetBitmap
Il existe quelques scénarios pour le contenu visuel composé en XAML que vous ne pouvez pas capturer dans un RenderTargetBitmap:
- Le contenu vidéo d’un MediaPlayerElement ne peut pas être capturé à l’aide de renderTargetBitmap. Cela inclut la capture d’images à partir du contenu vidéo.
- Le contenu Microsoft DirectX personnalisé (votre propre chaîne d’échange) à l’intérieur d’un swapChainBackgroundPanel
ou SwapChainPanel ne peut pas être capturé à l’aide deRenderTargetBitmap . - Le contenu qui se trouve dans l’arborescence, mais avec son Visibilité défini sur réduit ne sera pas capturé.
- Le contenu qui n’est pas directement connecté à l’arborescence visuelle XAML et le contenu de la fenêtre principale ne sera pas capturé. Cela inclut contenu de fenêtre contextuelle, qui est considéré comme une sous-fenêtre.
- Pour l’application Windows Phone 8.x : le contenu d’un contrôle WebView
ne peut pas être rendu dans un RenderTargetBitmap . - Le contenu qui ne peut pas être capturé apparaît comme vide dans l’image capturée, mais d’autres contenus de la même arborescence visuelle peuvent toujours être capturés et seront affichés (la présence de contenu qui ne peut pas être capturé n’invalidera pas la capture entière de cette composition XAML).
- Le contenu figurant dans l’arborescence visuelle XAML, mais hors écran peut être capturé, tant qu’il n’est pas Visibilité = réduit ou dans les autres cas restreints.