LoadedImageSurface Clase
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í.
Representa una superficie de composición en la que se puede descargar, descodificar y cargar una imagen. Puede cargar una imagen mediante un identificador uniforme de recursos (URI) que haga referencia a un archivo de origen de imagen o proporcione un IRandomAccessStream.
public ref class LoadedImageSurface sealed : IClosable, ICompositionSurface
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 262144)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class LoadedImageSurface final : IClosable, ICompositionSurface
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 262144)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class LoadedImageSurface : System.IDisposable, ICompositionSurface
Public NotInheritable Class LoadedImageSurface
Implements ICompositionSurface, IDisposable
- Herencia
- Atributos
- Implementaciones
Requisitos de Windows
Familia de dispositivos |
Windows 10 Creators Update (se introdujo en la versión 10.0.15063.0)
|
API contract |
Windows.Foundation.UniversalApiContract (se introdujo en la versión v4.0)
|
Ejemplos
En este ejemplo se muestra cómo cargar una imagen desde un URI local en una superficie y usarla en compositionSurfaceBrush.
Compositor compositor = new Compositor();
CompositionSurfaceBrush imageBrush = compositor.CreateSurfaceBrush();
LoadedImageSurface loadedSurface = LoadedImageSurface.StartLoadFromUri(new Uri("ms-appx:///Assets/myPic.jpg"), new Size(200.0, 400.0));
// The loadedSurface currently has a size of 0x0 since it has not been downloaded, decoded and loaded to the surface yet
imageBrush.Surface = loadedSurface;
Comentarios
LoadedImageSurface puede tener como origen estos formatos de archivo de imagen:
- Formato JPEG (Joint Photographic Experts Group)
- Formato PNG (Portable Network Graphics)
- Mapa de bits (BMP)
- Formato de intercambio de gráficos (GIF)
- Tagged Image File Format (TIFF)
- JPEG XR
- Iconos (ICO)
[! NOTA] LoadedImageSurface no admite imágenes GIF animadas, por lo que solo se mostrará el primer fotograma de un GIF animado.
Si el origen de la imagen es una secuencia, se espera que esa secuencia contenga un archivo de imagen en uno de estos formatos.
LoadedImageSurface codificación y descodificación
La API del componente de creación de imágenes (WIC) de Windows proporciona la compatibilidad subyacente con el códec para los archivos de imagen en Windows. Para obtener más información sobre formatos de imagen específicos como se documenta para los códigos, consulta Códecs WIC nativos.
Con uno de los métodos de fábrica, puede crear una instancia de LoadedImageSurface a partir de diferentes tipos de orígenes de imágenes y controlar el tamaño máximo en el que se descodifica la imagen. Si no se especifica ningún tamaño máximo, la imagen descodificará su tamaño natural.
- StartLoadFromUri(Uri)
- StartLoadFromUri(Uri, Size)
- StartLoadFromStream(IRandomAccessStream)
- StartLoadFromStream(IRandomAccessStream, Size)
Administración de la duración
Cuando se crea loadedImageSurface mediante uno de los métodos de fábrica, la superficie subyacente se inicializa inmediatamente a un tamaño de 0x0 y el contenido de la imagen comienza a descargar y descodificar el subproceso de la interfaz de usuario. Cuando el origen de la imagen se ha descodificado correctamente, se carga en la superficie y el evento LoadCompleted se desencadena cuando se ha rellenado la superficie. Durante el proceso de carga, la superficie cambiará de 0x0 a su tamaño final en función del tamaño descodificado del origen de la imagen.
LoadedImageSurface conserva automáticamente todos sus recursos hasta que pierde su referencia final. Sin embargo, puede eliminar explícitamente sus recursos mediante el método Close .
[! NOTA] LoadedImageSurface no está disponible antes de Windows 10, versión 1703. Si la configuración "versión de la plataforma minum" de la aplicación en Microsoft Visual Studio es menor que la "versión introducida" que se muestra en el bloque Requisitos más adelante en esta página, no puede usar esta clase.
Propiedades
DecodedPhysicalSize |
Obtiene el tamaño de la imagen descodificada en píxeles físicos. |
DecodedSize |
Obtiene el tamaño de la imagen descodificada en píxeles independientes del dispositivo. |
NaturalSize |
Obtiene el tamaño natural de la imagen en píxeles físicos, que se define en el origen de la imagen original. |
Métodos
Close() |
Elimina loadedImageSurface y los recursos asociados. |
Dispose() |
Realiza tareas definidas por la aplicación asociadas a la liberación o al restablecimiento de recursos no administrados. |
StartLoadFromStream(IRandomAccessStream) |
Carga una imagen en loadedImageSurface del IRandomAccessStream proporcionado en el tamaño natural definido en el origen de la imagen. |
StartLoadFromStream(IRandomAccessStream, Size) |
Carga una imagen en loadedImageSurface desde el IRandomAccessStream proporcionado con el tamaño máximo deseado. |
StartLoadFromUri(Uri) |
Carga una imagen en loadedImageSurface desde el identificador uniforme de recursos (URI) proporcionado en el tamaño natural definido en el origen de la imagen. |
StartLoadFromUri(Uri, Size) |
Carga una imagen en loadedImageSurface desde el identificador uniforme de recursos (URI) proporcionado con el tamaño máximo deseado. |
Eventos
LoadCompleted |
Se produce cuando la imagen se ha descargado, descodificado y cargado en el ICompositionSurface subyacente. |