Compartir a través de


RenderTargetBitmap.RenderAsync Método

Definición

Sobrecargas

RenderAsync(UIElement)

Representa una instantánea de un árbol visual UIElement en un origen de imagen.

RenderAsync(UIElement, Int32, Int32)

Representa una instantánea de un árbol visual UIElement en un origen de imagen. Especifique los valores de scaledWidth y scaledHeight para modificar la dimensión de representación del origen original.

RenderAsync(UIElement)

Representa una instantánea de un árbol visual UIElement en un origen de imagen.

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

Parámetros

element
UIElement

UiElement que representa el fragmento de árbol visual que se va a representar.

Devoluciones

Objeto IAsyncAction que puede usar para controlar la operación asincrónica.

Atributos

Comentarios

Este método no devuelve la imagen representada. Pero después de que se devuelva, siempre que el valor de estado asincrónico no indique un error, el RenderTargetBitmap que lo llamó tendrá información de imagen válida. El RenderTargetBitmap se puede asignar en el código como origen de una imagen para un control Image o una instancia de ImageBrush.

Si necesita una representación de búfer de píxeles del contenido representado y no solo un origen de imagen, use GetPixelsAsync después de llamar a RenderAsync.

Se trata de un método asincrónico, por lo que no hay ninguna garantía de sincronización exacta de fotogramas con el origen de la interfaz de usuario. Consulta Comentarios en RenderTargetBitmap para obtener información sobre algunas otras limitaciones.

Puede pasar null para el parámetro de elemento y que represente el árbol visual raíz de la aplicación.

Objetos visuales XAML y funcionalidades de captura renderTargetBitmap

Hay algunos escenarios para el contenido visual compuesto por XAML que no se puede capturar en renderTargetBitmap:

  • El contenido de vídeo de un objeto MediaElement o CaptureElement no se puede capturar mediante RenderTargetBitmap. Esto incluye la captura de fotogramas desde el contenido del vídeo.
  • El contenido personalizado de Microsoft DirectX (su propia cadena de intercambio) dentro de swapChainBackgroundPanel o SwapChainPanel no se puede capturar mediante RenderTargetBitmap.
  • El contenido que se encuentra en el árbol, pero con su visibilidad establecido en Collapsed no se capturará.
  • El contenido que no está conectado directamente al árbol visual XAML y no se capturará el contenido de la ventana principal. Esto incluye el contenido emergente , que se considera como una sub ventana.
  • Para Windows Phone aplicación 8.x: el contenido de un control WebView no se puede representar en renderTargetBitmap.
  • El contenido que no se puede capturar aparecerá como en blanco en la imagen capturada, pero otro contenido del mismo árbol visual se puede capturar y se representará (la presencia de contenido que no se puede capturar no invalidará toda la captura de esa composición XAML).
  • El contenido que se encuentra en el árbol visual XAML, pero fuera de la pantalla se puede capturar, siempre y cuando no sea Visibilidad = contraída o en los otros casos restringidos.

Consulte también

Se aplica a

RenderAsync(UIElement, Int32, Int32)

Representa una instantánea de un árbol visual UIElement en un origen de imagen. Especifique los valores de scaledWidth y scaledHeight para modificar la dimensión de representación del origen original.

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

Parámetros

element
UIElement

UiElement que representa el fragmento de árbol visual que se va a representar.

scaledWidth
Int32

int

Especifica el ancho de destino en el que se va a representar. El valor predeterminado es 0. scaledWidth y/o scaledHeight pueden ser opcionales; vea Comentarios.

scaledHeight
Int32

int

Especifica el alto de destino en el que se va a representar. El valor predeterminado es 0. scaledWidth y/o scaledHeight pueden ser opcionales; vea Comentarios.

Devoluciones

Objeto IAsyncAction que puede usar para controlar la operación asincrónica.

Atributos

Comentarios

Este método no devuelve la imagen representada. Pero después de que se devuelva, siempre que el valor de estado asincrónico no indique un error, el RenderTargetBitmap que lo llamó tendrá información de imagen válida. El RenderTargetBitmap se puede asignar en el código como origen de una imagen para un control Image o una instancia de ImageBrush.

Si necesita una representación de búfer de píxeles del contenido representado y no solo un origen de imagen, use GetPixelsAsync después de llamar a RenderAsync.

Se trata de un método asincrónico, por lo que no hay ninguna garantía de sincronización exacta de fotogramas con el origen de la interfaz de usuario. Consulta Comentarios en RenderTargetBitmap para obtener información sobre algunas otras limitaciones.

Se producirá un error al llamar a RenderAsync si el alto o ancho escalados del árbol visual UIElement son mayores que la cantidad de memoria de vídeo que el sistema puede asignar internamente.

Puede pasar null para el parámetro de elemento y que represente el árbol visual raíz de la aplicación.

valores scaledWidth y scaledHeight

Si se establecen scaledWidth y scaledHeight , se omite la relación de aspecto del mapa de bits original y los valores pueden modificar la relación de aspecto.

Si se especifica scaledWidth o scaledHeight , pero no se especifican ambos, el valor que se proporciona controla esa dimensión, pero se conserva la relación de aspecto (la otra dimensión se calcula en función de la factorización de la relación de aspecto del mapa de bits original).

Puede llamar a este método y dejar los valores scaledWidth y scaledHeight como 0. En este caso, el árbol UIElement se representará en su tamaño nativo. Este es el mismo comportamiento que la sobrecarga RenderAsync(UIElement).

El tamaño máximo representado de un árbol visual XAML está restringido por las dimensiones máximas de una textura de Microsoft DirectX; para obtener más información, consulte Límites de recursos (). Este límite de recursos puede variar en función del hardware en el que se ejecuta la aplicación. Es posible que el contenido muy grande que supere este límite se ajuste. Si se aplican límites de escalado de esta manera, se puede consultar el tamaño representado después del escalado mediante las propiedades PixelWidth y PixelHeight . Por ejemplo, un árbol visual XAML de 10000 x 10000 píxeles se puede escalar a 4096 por 4096 píxeles, un ejemplo de un límite de recursos determinado en texturas 2D que se aplican.

Objetos visuales XAML y funcionalidades de captura renderTargetBitmap

Hay algunos escenarios para el contenido visual compuesto por XAML que no se puede capturar en renderTargetBitmap:

  • El contenido de vídeo de un objeto MediaElement o CaptureElement no se puede capturar mediante RenderTargetBitmap. Esto incluye la captura de fotogramas desde el contenido del vídeo.
  • El contenido personalizado de Microsoft DirectX (su propia cadena de intercambio) dentro de swapChainBackgroundPanel o SwapChainPanel no se puede capturar mediante RenderTargetBitmap.
  • El contenido que se encuentra en el árbol, pero con su visibilidad establecido en Collapsed no se capturará.
  • El contenido que no está conectado directamente al árbol visual XAML y no se capturará el contenido de la ventana principal. Esto incluye el contenido emergente , que se considera como una sub ventana.
  • Para Windows Phone aplicación 8.x: el contenido de un control WebView no se puede representar en renderTargetBitmap.
  • El contenido que no se puede capturar aparecerá como en blanco en la imagen capturada, pero otro contenido del mismo árbol visual se puede capturar y se representará (la presencia de contenido que no se puede capturar no invalidará toda la captura de esa composición XAML).
  • El contenido que se encuentra en el árbol visual XAML, pero fuera de la pantalla se puede capturar, siempre y cuando no sea Visibilidad = contraída o en los otros casos restringidos.

Consulte también

Se aplica a