RenderTargetBitmap.RenderAsync Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Overload
RenderAsync(UIElement) |
Esegue il rendering di uno snapshot di un UIElement struttura ad albero visuale in un'origine immagine. |
RenderAsync(UIElement, Int32, Int32) |
Esegue il rendering di uno snapshot di un UIElement struttura ad albero visuale in un'origine immagine. Specificare i valori per scaledWidth e scaledHeight per modificare la dimensione di rendering dell'origine originale. |
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
Parametri
- element
- UIElement
Oggetto UIElement che rappresenta il frammento di struttura ad albero visuale di cui eseguire il rendering.
Restituisce
Oggetto IAsyncAction
- Attributi
Commenti
L'immagine sottoposta a rendering non viene restituita da questo metodo. Ma dopo la restituzione, purché il valore asincrono Status non indichi un errore, il RenderTargetBitmap che ha chiamato avrà informazioni sull'immagine valide. Il RenderTargetBitmap
Se è necessaria una rappresentazione del buffer pixel del contenuto sottoposto a rendering e non solo un'origine immagine, usare GetPixelsAsync dopo aver chiamato RenderAsync.
Si tratta di un metodo asincrono, quindi non esiste alcuna garanzia di sincronizzazione esatta dei fotogrammi con l'origine dell'interfaccia utente. Per altre informazioni su altre limitazioni, vedi osservazioni in RenderTargetBitmap.
È possibile passare
Oggetti visivi XAML e funzionalità di acquisizione di RenderTargetBitmap
Esistono alcuni scenari per il contenuto visivo composto da XAML che non è possibile acquisire in un RenderTargetBitmap:
- Non è possibile acquisire contenuto video in un
MediaPlayerElement usando RenderTargetBitmap . Ciò include l'acquisizione di fotogrammi dall'interno del contenuto video. - Contenuto Microsoft DirectX personalizzato (catena di scambio) all'interno di un SwapChainBackgroundPanel o SwapChainPanel non può essere acquisito usando RenderTargetBitmap.
- Il contenuto presente nell'albero, ma con il relativo Visibility impostato su compresso non verrà acquisito.
- Il contenuto non connesso direttamente alla struttura ad albero visuale XAML e il contenuto della finestra principale non verrà acquisito. Sono inclusi contenuto popup, considerato come una sotto-finestra.
- Il contenuto che non può essere acquisito verrà visualizzato come vuoto nell'immagine acquisita, ma è comunque possibile acquisire altri contenuti nella stessa struttura ad albero visuale e verrà eseguito il rendering (la presenza di contenuto che non può essere acquisito non invaliderà l'intera acquisizione di tale composizione XAML).
- Il contenuto che si trova nella struttura ad albero visuale XAML, ma può essere acquisito, purché non sia Visibility = Collapsed o negli altri casi limitati.
Vedi anche
- RenderAsync(UIElement, Int32, Int32)
- rendering XAML in di esempio bitmap
Si applica a
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
Parametri
- element
- UIElement
Oggetto UIElement che rappresenta il frammento di struttura ad albero visuale di cui eseguire il rendering.
- scaledWidth
-
Int32
int
Specifica la larghezza di destinazione in corrispondenza della quale eseguire il rendering. Il valore predefinito è 0. scaledWidth e/o scaledHeight può essere facoltativo; vedere Osservazioni.
- scaledHeight
-
Int32
int
Specifica l'altezza di destinazione in corrispondenza della quale eseguire il rendering. Il valore predefinito è 0. scaledWidth e/o scaledHeight può essere facoltativo; vedere Osservazioni.
Restituisce
Oggetto IAsyncAction
- Attributi
Commenti
L'immagine sottoposta a rendering non viene restituita da questo metodo. Ma dopo la restituzione, purché il valore asincrono Status non indichi un errore, il RenderTargetBitmap che ha chiamato avrà informazioni sull'immagine valide. Il RenderTargetBitmap
Se è necessaria una rappresentazione del buffer pixel del contenuto sottoposto a rendering e non solo un'origine immagine, usare GetPixelsAsync dopo aver chiamato RenderAsync.
Si tratta di un metodo asincrono, quindi non esiste alcuna garanzia di sincronizzazione esatta dei fotogrammi con l'origine dell'interfaccia utente. Per altre informazioni su altre limitazioni, vedi osservazioni in RenderTargetBitmap.
La chiamata a RenderAsync avrà esito negativo se l'altezza o la larghezza ridimensionata della struttura ad albero visuale UIElement sono maggiori della quantità di memoria video che il sistema è in grado di allocare internamente.
È possibile passare
valori scaledWidth e scaledHeight
Se scaledWidth e scaledHeight vengono entrambi impostati, le proporzioni della bitmap originale vengono ignorate e i valori possono modificare le proporzioni.
Se scaledWidth o scaledHeight ma non vengono specificati entrambi, il valore fornito controlla tale dimensione ma le proporzioni vengono mantenute (l'altra dimensione viene calcolata in base al factoring delle proporzioni della bitmap originale).
È possibile chiamare questo metodo e lasciare i valori scaledWidth e scaledHeight entrambi come 0. In questo caso, il rendering dell'albero UIElement
La dimensione massima sottoposta a rendering di un albero visivo XAML è limitata dalle dimensioni massime di una trama Microsoft DirectX; Per altre informazioni, vedi limiti delle risorse (). Questo limite di risorse può variare a seconda dell'hardware in cui viene eseguita l'app. Contenuto molto grande che supera questo limite potrebbe essere ridimensionato per adattarsi. Se i limiti di ridimensionamento vengono applicati in questo modo, è possibile eseguire query sulle dimensioni di cui è stato eseguito il rendering dopo il ridimensionamento usando le proprietà PixelWidth
Oggetti visivi XAML e funzionalità di acquisizione di RenderTargetBitmap
Esistono alcuni scenari per il contenuto visivo composto da XAML che non è possibile acquisire in un RenderTargetBitmap:
- Non è possibile acquisire contenuto video in un
MediaPlayerElement usando RenderTargetBitmap . Ciò include l'acquisizione di fotogrammi dall'interno del contenuto video. - Contenuto Microsoft DirectX personalizzato (catena di scambio) all'interno di un SwapChainBackgroundPanel o SwapChainPanel non può essere acquisito usando RenderTargetBitmap.
- Il contenuto presente nell'albero, ma con il relativo Visibility impostato su compresso non verrà acquisito.
- Il contenuto non connesso direttamente alla struttura ad albero visuale XAML e il contenuto della finestra principale non verrà acquisito. Sono inclusi contenuto popup, considerato come una sotto-finestra.
- Per l'app Windows Phone 8.x: il contenuto di un controllo WebView
non può essere sottoposto a rendering in un RenderTargetBitmap . - Il contenuto che non può essere acquisito verrà visualizzato come vuoto nell'immagine acquisita, ma è comunque possibile acquisire altri contenuti nella stessa struttura ad albero visuale e verrà eseguito il rendering (la presenza di contenuto che non può essere acquisito non invaliderà l'intera acquisizione di tale composizione XAML).
- Il contenuto che si trova nella struttura ad albero visuale XAML, ma può essere acquisito, purché non sia Visibility = Collapsed o negli altri casi limitati.
Vedi anche
- RenderAsync(UIElement)
- rendering XAML in di esempio bitmap