RenderTargetBitmap.RenderAsync Metodo

Definizione

Overload

Nome Descrizione
RenderAsync(UIElement)

Esegue il rendering di uno snapshot di una struttura ad albero visuale UIElement in un'origine immagine.

RenderAsync(UIElement, Int32, Int32)

Esegue il rendering di uno snapshot di una struttura ad albero visuale UIElement in un'origine immagine. Specificare i valori per scaledWidth e scaledHeight per modificare la dimensione di rendering dell'origine originale.

RenderAsync(UIElement)

Esegue il rendering di uno snapshot di una struttura ad albero visuale UIElement in un'origine immagine.

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

UIElement che rappresenta il frammento della struttura ad albero visuale di cui eseguire il rendering.

Valori restituiti

Oggetto IAsyncAction che è possibile usare per controllare l'operazione asincrona.

Attributi

Commenti

L'immagine sottoposta a rendering non viene restituita da questo metodo. Ma dopo la restituzione, purché il valore di stato asincrono non indichi un errore, RenderTargetBitmap che lo ha chiamato avrà informazioni sull'immagine valide. RenderTargetBitmap può quindi essere assegnato nel codice come origine immagine per un controllo Image o un'istanza di ImageBrush.

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 informazioni su altre limitazioni, vedi La sezione Osservazioni in RenderTargetBitmap .

È possibile passare Null per il parametro dell'elemento e che esegue il rendering dell'albero visivo radice dell'app.

Oggetti visivi XAML e funzionalità di acquisizione RenderTargetBitmap

Esistono alcuni scenari per il contenuto visivo composto da XAML che non è possibile acquisire in renderTargetBitmap:

  • Non è possibile acquisire contenuto video in mediaPlayerElement usando RenderTargetBitmap. Ciò include l'acquisizione di fotogrammi dall'interno del contenuto video.
  • Non è possibile acquisire contenuti DirectX personalizzati Microsoft (catena di scambio) all'interno di un oggetto SwapChainBackgroundPanel o SwapChainPanel usando RenderTargetBitmap.
  • Il contenuto che si trova nell'albero, ma con la relativa proprietà Visibility impostato su Collapsed non verrà acquisito.
  • Il contenuto non connesso direttamente alla struttura ad albero visuale XAML e il contenuto della finestra principale non verrà acquisito. Ciò include il 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 che può essere acquisito, purché non sia Visibility = Collapsed o negli altri casi limitati.

Vedi anche

Si applica a

RenderAsync(UIElement, Int32, Int32)

Esegue il rendering di uno snapshot di una struttura ad albero visuale UIElement in un'origine immagine. Specificare i valori per scaledWidth e scaledHeight per modificare la dimensione di rendering dell'origine originale.

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

UIElement che rappresenta il frammento della 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.

Valori restituiti

Oggetto IAsyncAction che è possibile usare per controllare l'operazione asincrona.

Attributi

Commenti

L'immagine sottoposta a rendering non viene restituita da questo metodo. Ma dopo la restituzione, purché il valore di stato asincrono non indichi un errore, RenderTargetBitmap che lo ha chiamato avrà informazioni sull'immagine valide. RenderTargetBitmap può quindi essere assegnato nel codice come origine immagine per un controllo Image o un'istanza di ImageBrush.

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 informazioni su altre limitazioni, vedi La sezione Osservazioni in RenderTargetBitmap .

La chiamata a RenderAsync avrà esito negativo se l'altezza o la larghezza ridimensionata dell'albero visivo UIElement sono maggiori della quantità di memoria video che il sistema è in grado di allocare internamente.

È possibile passare Null per il parametro dell'elemento e che esegue il rendering dell'albero visivo radice dell'app.

valori scaledWidth e scaledHeight

Se scaledWidth e scaledHeight sono entrambi impostati, le proporzioni della bitmap originale vengono ignorate e i valori possono modificare le proporzioni.

Se scaledWidth o scaledHeight ma non entrambi vengono specificati, il valore specificato 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 verrà eseguito alle dimensioni native. Si tratta dello stesso comportamento dell'overload RenderAsync(UIElement).

La dimensione massima di cui è stato eseguito il rendering di una struttura ad albero visuale XAML è limitata dalle dimensioni massime di una trama DirectX Microsoft. 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 e PixelHeight . Ad esempio, un albero visivo XAML di 10000 pixel di 10000 pixel potrebbe essere ridimensionato a 4096 di 4096 pixel, un esempio di un limite di risorse specifico per le trame 2D applicate.

Oggetti visivi XAML e funzionalità di acquisizione RenderTargetBitmap

Esistono alcuni scenari per il contenuto visivo composto da XAML che non è possibile acquisire in renderTargetBitmap:

  • Non è possibile acquisire contenuto video in mediaPlayerElement usando RenderTargetBitmap. Ciò include l'acquisizione di fotogrammi dall'interno del contenuto video.
  • Non è possibile acquisire contenuti DirectX personalizzati Microsoft (catena di scambio) all'interno di un oggetto SwapChainBackgroundPanel o SwapChainPanel usando RenderTargetBitmap.
  • Il contenuto che si trova nell'albero, ma con la relativa proprietà Visibility impostato su Collapsed non verrà acquisito.
  • Il contenuto non connesso direttamente alla struttura ad albero visuale XAML e il contenuto della finestra principale non verrà acquisito. Ciò include il contenuto popup , considerato come una sotto-finestra.
  • Per Windows'app Phone 8.x: il contenuto di un controllo WebView non può essere sottoposto a rendering in 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 che può essere acquisito, purché non sia Visibility = Collapsed o negli altri casi limitati.

Vedi anche

Si applica a