RenderTargetBitmap.RenderAsync Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Sobrecargas
RenderAsync(UIElement) |
Representa una instantánea de un UIElement árbol visual en un origen de imagen. |
RenderAsync(UIElement, Int32, Int32) |
Representa una instantánea de un UIElement árbol visual 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)
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
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 estado asincrónico valor no indique un error, el RenderTargetBitmap que lo llamó tendrá información de imagen válida. A continuación,
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. Vea Comentarios en RenderTargetBitmap para obtener información sobre algunas otras limitaciones.
Puede pasar
Objetos visuales XAML y funcionalidades de captura de RenderTargetBitmap
Hay algunos escenarios para el contenido visual compuesto por XAML que no se puede capturar en un RenderTargetBitmap:
- No se puede capturar contenido de vídeo en un
MediaPlayerElement mediante RenderTargetBitmap . Esto incluye la captura de fotogramas desde contenido de vídeo. - El contenido personalizado de Microsoft DirectX (su propia cadena de intercambio) dentro de un SwapChainBackgroundPanel o swapChainPanel no se puede capturar mediante RenderTargetBitmap.
- El contenido que se encuentra en el árbol, pero con su Visibility establecido en contraído 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 contenido popup, que se considera como una ventana secundaria.
- 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 que está fuera de pantalla se puede capturar, siempre y cuando no se Visibilidad = contraído o en los otros casos restringidos.
Consulte también
- RenderAsync(UIElement, Int32, Int32)
- representación XAML en de ejemplo de mapa de bits
Se aplica 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
Parámetros
- scaledWidth
-
Int32
int
Especifica el ancho de destino en el que se va a representar. El valor predeterminado es 0. scaledWidth o scaledHeight puede ser opcional; vea Comentarios.
- scaledHeight
-
Int32
int
Especifica el alto de destino en el que se va a representar. El valor predeterminado es 0. scaledWidth o scaledHeight puede ser opcional; 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 estado asincrónico valor no indique un error, el RenderTargetBitmap que lo llamó tendrá información de imagen válida. A continuación,
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. Vea Comentarios en RenderTargetBitmap para obtener información sobre algunas otras limitaciones.
Al llamar a RenderAsync, se producirá un error si el alto o ancho escalados de la UIElement árbol visual son mayores que la cantidad de memoria de vídeo que el sistema puede asignar internamente.
Puede pasar
scaledWidth y scaledHeight valores
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 scaledWidth o scaledHeight pero no se especifican ambos, el valor que 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 de scaledWidth y scaledHeight ambos como 0. En este caso, el árbol 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 píxeles de 10000 píxeles se puede escalar a 4096 en 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 de RenderTargetBitmap
Hay algunos escenarios para el contenido visual compuesto por XAML que no se puede capturar en un RenderTargetBitmap:
- No se puede capturar contenido de vídeo en un
MediaPlayerElement mediante RenderTargetBitmap . Esto incluye la captura de fotogramas desde contenido de vídeo. - El contenido personalizado de Microsoft DirectX (su propia cadena de intercambio) dentro de un SwapChainBackgroundPanel o swapChainPanel no se puede capturar mediante RenderTargetBitmap.
- El contenido que se encuentra en el árbol, pero con su Visibility establecido en contraído 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 contenido popup, que se considera como una ventana secundaria.
- Para la aplicación windows Phone 8.x: el contenido de un control WebView no se puede representar en un 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 que está fuera de pantalla se puede capturar, siempre y cuando no se Visibilidad = contraído o en los otros casos restringidos.
Consulte también
- RenderAsync(UIElement)
- representación XAML en de ejemplo de mapa de bits