Referencia de API para la creación de imágenes de IA en el SDK de aplicaciones de Windows
Importante
Disponible en la versión más reciente del canal experimental del SDK de aplicaciones de Windows.
El canal experimental del SDK de aplicaciones de Windows incluye API y características en las primeras fases de desarrollo. Todas las API del canal experimental están sujetas a revisiones exhaustivas y cambios importantes y se pueden eliminar de versiones posteriores en cualquier momento. Las características experimentales no se admiten para su uso en entornos de producción y las aplicaciones que las usan no se pueden publicar en Microsoft Store.
- Las características de creación de imágenes no están disponibles en China.
- No se admiten aplicaciones desempaquetadas.
Conozca las API de imágenes Windows App SDK, respaldadas por inteligencia artificial (IA), que admiten las siguientes capacidades:
- Superresolución de imágenes: escalado y mejora de nitidez de imágenes
- descripción de la imagen: generar texto que describa la imagen
- segmentación de imágenes: identificación de objetos dentro de una imagen
Para más información, consulte Introducción a la creación de imágenes de IA en la SDK de Aplicaciones para Windows.
Sugerencia
Proporcione comentarios sobre estas API y su funcionalidad creando una nueva incidencia en el repositorio de GitHub de Windows App SDK (incluya Creación de imágenes en el título) o respondiendo a una incidencia existente.
Espacio de nombres Microsoft.Graphics.Imaging
Proporciona API para modelos de aprendizaje automático que escalan y afilan imágenes.
Clase ImageBuffer
public sealed class ImageBuffer : System.IDisposable
Representa un mapa de bits sin comprimir para serializar eficazmente entre procesos.
Comentarios
ImageBuffer se puede usar con las API de modelo de IA, como TextRecognizer que requieren datos de imagen. El uso típico implica la creación de un imageBuffer a partir de un objeto SoftwareBitmap existente.
Propiedad ImageBuffer.Buffer
public Windows.Storage.Streams.IBuffer Buffer { get; }
Obtiene el búfer de imágenes actual.
Valor de propiedad
Búfer de imágenes actual.
Propiedad ImageBuffer.BufferLength
public uint BufferLength { get; }
Obtiene la longitud del búfer de imágenes.
Valor de propiedad
Longitud del búfer de imágenes.
Método ImageBuffer.Close
// This member is not implemented in C#
Elimina el objeto y los recursos asociados.
Comentarios
No implementado en C#.
Método ImageBuffer.CopyToBuffer(System.Byte[])
public void CopyToBuffer (byte[] values);
Copia el búfer actual en el búfer de destino proporcionado.
Parámetros
valores
Vector de bytes en el búfer.
Método ImageBuffer.CreateBufferAttachedToBitmap(Windows.Graphics.Imaging.SoftwareBitmap)
public static Microsoft.Graphics.Imaging.ImageBuffer CreateBufferAttachedToBitmap (Windows.Graphics.Imaging.SoftwareBitmap softwareBitmap);
Cree un elemento ImageBuffer a partir de un objeto SotftwareBitmap existente; para ello, debe obtener un elemento un IMemoryBufferReference del objeto de mapa de bits.
Parámetros
softwareBitmap
Elemento SotftwareBitmap desde el que se va a crear ImageBuffer.
Devoluciones
ImageBuffer o null si es un formato no admitido.
Comentarios
SoftwareBitmap se bloquea hasta que se completa la operación asincrónica y se destruye el nuevo ImageBuffer.
Método ImageBuffer.CreateCopyFromBitmap(Windows.Graphics.Imaging.SoftwareBitmap)
public static Microsoft.Graphics.Imaging.ImageBuffer CreateCopyFromBitmap (Windows.Graphics.Imaging.SoftwareBitmap softwareBitmap);
Cree un elemento ImageBuffer a partir de un objeto SotftwareBitmap existente; para ello, copie los datos de mapa de bits subyacentes.
Parámetros
softwareBitmap
Elemento SotftwareBitmap desde el que se va a crear ImageBuffer.
Devoluciones
ImageBuffer o null si es un formato no admitido.
Comentarios
SoftwareBitmap se bloquea hasta que se completa la operación asincrónica y se destruye el nuevo ImageBuffer.
Método ImageBuffer.CreateFromBuffer(Windows.Storage.Streams.IBuffer,Microsoft.Graphics.Imaging.PixelFormat,System.UInt32,System.UInt32)
public static Microsoft.Graphics.Imaging.ImageBuffer CreateFromBuffer (Windows.Storage.Streams.IBuffer buffer, Microsoft.Graphics.Imaging.PixelFormat pixelFormat, uint width, uint height);
Parámetros
buffer
pixelFormat
width
alto
Devoluciones
Método ImageBuffer.CreateFromBufferWithStride(Windows.Storage.Streams.IBuffer,Microsoft.Graphics.Imaging.PixelFormat,System.UInt32,System.UInt32,System.UInt32)
public static Microsoft.Graphics.Imaging.ImageBuffer CreateFromBufferWithStride (Windows.Storage.Streams.IBuffer buffer, Microsoft.Graphics.Imaging.PixelFormat pixelFormat, uint width, uint height, uint stride);
Parámetros
buffer
pixelFormat
width
alto
stride
Devoluciones
Método ImageBuffer.CreateSoftwareBitmap
public Windows.Graphics.Imaging.SoftwareBitmap CreateSoftwareBitmap ();
Cree un nuevo objeto SoftwareBitmap de tipo de píxel BGRA32 a partir de los datos de píxel almacenados en ImageBuffer.
Devoluciones
Nuevo objeto SoftwareBitmap de tipo de píxel BGRA32.
Propiedad ImageBuffer.Height
public uint Height { get; }
Obtiene la altura de la imagen en píxeles.
Valor de propiedad
El alto de la imagen, en píxeles.
Compilador ImageBuffer.#ctor(Windows.Storage.Streams.IBuffer,Microsoft.Graphics.Imaging.PixelFormat,System.UInt32,System.UInt32)
public ImageBuffer (Windows.Storage.Streams.IBuffer buffer, Microsoft.Graphics.Imaging.PixelFormat pixelFormat, uint width, uint height);
Inicializa una nueva instancia de la clase ImageBuffer.
Parámetros
buffer
The ImageBuffer.
pixelFormat
Formato de píxel de la imagen.
width
Ancho de la imagen, en píxeles.
alto
El alto de la imagen, en píxeles.
Propiedad ImageBuffer.PixelFormat
public Microsoft.Graphics.Imaging.PixelFormat PixelFormat { get; }
Obtiene el formato de píxeles de la imagen.
Valor de propiedad
Formato de píxel de la imagen.
Propiedad ImageBuffer.Width
public uint Width { get; }
Obtiene el ancho de la imagen, en píxeles.
Valor de propiedad
Ancho de la imagen, en píxeles.
Clase ImageObjectExtractor
public sealed class ImageObjectExtractor : System.IDisposable
Método ImageObjectExtractor.Close
// This member is not implemented in C#
Comentarios
No implementado en C#.
Método ImageObjectExtractor.CreateWithImageBufferAsync(Microsoft.Graphics.Imaging.ImageBuffer)
public static Windows.Foundation.IAsyncOperation<Microsoft.Graphics.Imaging.ImageObjectExtractor> CreateWithImageBufferAsync (Microsoft.Graphics.Imaging.ImageBuffer imageBuffer);
Parámetros
imageBuffer
Devoluciones
Método ImageObjectExtractor.CreateWithSoftwareBitmapAsync(Windows.Graphics.Imaging.SoftwareBitmap)
public static Windows.Foundation.IAsyncOperation<Microsoft.Graphics.Imaging.ImageObjectExtractor> CreateWithSoftwareBitmapAsync (Windows.Graphics.Imaging.SoftwareBitmap softwareBitmap);
Parámetros
softwareBitmap
Devoluciones
Método ImageObjectExtractor.GetImageBufferObjectMask(Microsoft.Graphics.Imaging.ImageObjectExtractorHint)
public Microsoft.Graphics.Imaging.ImageBuffer GetImageBufferObjectMask (Microsoft.Graphics.Imaging.ImageObjectExtractorHint hint);
Parámetros
hint
Devoluciones
Método ImageObjectExtractor.GetSoftwareBitmapObjectMask(Microsoft.Graphics.Imaging.ImageObjectExtractorHint)
public Windows.Graphics.Imaging.SoftwareBitmap GetSoftwareBitmapObjectMask (Microsoft.Graphics.Imaging.ImageObjectExtractorHint hint);
Parámetros
hint
Devoluciones
Método ImageObjectExtractor.IsAvailable
public static bool IsAvailable ();
Devoluciones
Método ImageObjectExtractor.MakeAvailableAsync
public static Windows.Foundation.IAsyncOperationWithProgress<Microsoft.Windows.Management.Deployment.PackageDeploymentResult,Microsoft.Windows.Management.Deployment.PackageDeploymentProgress> MakeAvailableAsync ();
Devoluciones
Clase ImageObjectExtractorHint
public sealed class ImageObjectExtractorHint
Propiedad ImageObjectExtractorHint.ExcludePoints
public System.Collections.Generic.IReadOnlyList<Windows.Graphics.PointInt32> ExcludePoints { get; }
Valor de propiedad
Compilador ImageObjectExtractorHint.#ctor(Windows.Foundation.Collections.IVector{Windows.Graphics.RectInt32},Windows.Foundation.Collections.IVector{Windows.Graphics.PointInt32},Windows.Foundation.Collections.IVector{Windows.Graphics.PointInt32})
public ImageObjectExtractorHint (System.Collections.Generic.IList<Windows.Graphics.RectInt32> includeRects, System.Collections.Generic.IList<Windows.Graphics.PointInt32> includePoints, System.Collections.Generic.IList<Windows.Graphics.PointInt32> excludePoints);
Parámetros
includeRects
includePoints
excludePoints
Propiedad ImageObjectExtractorHint.IncludePoints
public System.Collections.Generic.IReadOnlyList<Windows.Graphics.PointInt32> IncludePoints { get; }
Valor de propiedad
Propiedad ImageObjectExtractorHint.IncludeRects
public System.Collections.Generic.IReadOnlyList<Windows.Graphics.RectInt32> IncludeRects { get; }
Valor de propiedad
Clase ImageScaler
public sealed class ImageScaler : System.IDisposable
Método ImageScaler.Close
// This member is not implemented in C#
Comentarios
No implementado en C#.
Método ImageScaler.CreateAsync
public static Windows.Foundation.IAsyncOperation<Microsoft.Graphics.Imaging.ImageScaler> CreateAsync ();
Devoluciones
Método ImageScaler.IsAvailable
public static bool IsAvailable ();
Devoluciones
Método ImageScaler.MakeAvailableAsync
public static Windows.Foundation.IAsyncOperationWithProgress<Microsoft.Windows.Management.Deployment.PackageDeploymentResult,Microsoft.Windows.Management.Deployment.PackageDeploymentProgress> MakeAvailableAsync ();
Devoluciones
Propiedad ImageScaler.MaxSupportedScaleFactor
public int MaxSupportedScaleFactor { get; }
Valor de propiedad
Método ImageScaler.ScaleImageBuffer(Microsoft.Graphics.Imaging.ImageBuffer,System.Int32,System.Int32)
public Microsoft.Graphics.Imaging.ImageBuffer ScaleImageBuffer (Microsoft.Graphics.Imaging.ImageBuffer imageBuffer, int width, int height);
Parámetros
imageBuffer
width
alto
Devoluciones
Método ImageScaler.ScaleSoftwareBitmap(Windows.Graphics.Imaging.SoftwareBitmap,System.Int32,System.Int32)
public Windows.Graphics.Imaging.SoftwareBitmap ScaleSoftwareBitmap (Windows.Graphics.Imaging.SoftwareBitmap softwareBitmap, int width, int height);
Parámetros
softwareBitmap
width
alto
Devoluciones
Enumeración PixelFormat
public enum PixelFormat
Especifica los tipos de diseños binarios para los datos de mapa de bits subyacentes.
Campos de enumeración
Sin definir: 0
El formato binario no está definido.
Rgb24: 1
El formato binario es de 24 bits por píxel; Cada uno de ellos utiliza 8 bits para los componentes rojo, verde y azul.
Argb32: 2
El formato binario de 32 bits por píxel utiliza 8 bits para cada uno de los componentes: alfa, rojo, verde y azul.
Rgba32: 3
El formato binario es de 32 bits por píxel; Cada uno de ellos utiliza 8 bits para los componentes rojo, verde, azul y alfa. Los componentes de color se almacenan en orden rojo, verde, azul y alfa.
Bgra32: 4
El formato binario es de 32 bits por píxel; Cada uno de ellos utiliza 8 bits para los componentes azul, verde, rojo y alfa. Los componentes de color se almacenan en orden azul, verde, rojo y alfa.
Gris8: 5
El formato binario es de 16 bits por píxel. La información de color especifica 65536 tonos de gris.