Novedades de WIC
El componente de creación de imágenes de Windows (WIC) se ha actualizado con nuevas versiones de Windows. En este tema se proporciona una introducción rápida a estas nuevas características.
Novedades de Windows 10, versión 1507
Acceso a datos JPEG de bajo nivel para la descodificación y codificación de WIC
A partir de Windows 10, versión 1507, WIC proporciona acceso a estructuras de datos JPEG de bajo nivel, incluidas las tablas Huffman y quantization. Para obtener más información, vea los temas siguientes:
Indexación JPEG
La indexación JPEG es una técnica que mejora significativamente el rendimiento de acceder aleatoriamente a pequeñas sub regiones de una imagen JPEG grande, a costa de un uso adicional de memoria. Cualquier llamador de WIC puede aprovechar la indexación JPEG.
La interfaz ID2D1ImageSourceFromWic está diseñada para aprovechar la indexación JPEG si está activada. Por ejemplo, la API ID2D1ImageSource solo solicitará las secciones necesarias de la imagen en un escenario como el movimiento panorámico y el zoom para una imagen de resolución grande. Para obtener más información, vea los temas siguientes:
Novedades de Windows 8.1
Compatibilidad con imágenes JPEG YCbCr
A partir de Windows 8.1, WIC proporciona compatibilidad con la descodificación, transformación y codificación de datos de imagen JPEG Y'CbCr en su formato nativo. Esto permite a las aplicaciones reducir significativamente el tiempo de procesamiento y el consumo de memoria para determinadas operaciones de creación de imágenes al trabajar con JPEG codificados con Y'CbCr. Para obtener más información, vea los temas siguientes:
- Efecto YCbCr deDirect2D
- Interfaz IWICPlanarBitmapSourceTransform
- Interfaz IWICPlanarBitmapFrameEncode
Compatibilidad con formatos comprimidos en bloques (archivos DDS)
A partir de Windows 8.1, WIC agrega un nuevo códec que admite imágenes DDS codificadas en los siguientes formatos: DXGI_FORMAT_BC1_UNORM, DXGI_FORMAT_BC2_UNORM y DXGI_FORMAT_BC3_UNORM. Se puede acceder a los datos comprimidos de bloques DDS en un formulario descodificado mediante interfaces WIC estándar o a los que se accede directamente mediante nuevas interfaces específicas de DDS. Para obtener más información, vea los temas siguientes:
Novedades de Windows 8
En Windows 8, WIC se ha actualizado con varias características nuevas. La versión actualizada de WIC también está disponible en Windows 7 y Windows Server 2008 R2 a través de la actualización de plataforma para Windows 7, que está disponible a través de la actualización de plataforma para Windows 7.
Integración mejorada de Direct2D
WIC en Windows 8 proporciona estas API para mejorar la integración de Direct2D con WIC:
- IWICImageEncoder : una nueva interfaz que puede codificar el contenidode Direct2D ID2D1Image en un IWICBitmapFrameEncode. Los métodos de esta interfaz toman un puntero a WICImageParameters, que son parámetros para controlar la codificación.
- IWICImagingFactory2 : nueva fábrica wic con el método CreateImageEncoder . Esta interfaz hereda de la fábrica de WIC original, IWICImagingFactory, y se crea de la misma manera.
Cambios en la compatibilidad con el códec BMP alfa
WIC en Windows 8 admite la carga de archivos de imagen BITMAPV5HEADER como imágenes con formato WICPixelFormat32bppBGRA. Además, el codificador BMP admite una nueva opción booleana ,encoder "EnableV5Header32bppBGRA", que indica al codificador que escriba un BITMAPV5HEADER con los datos de imagen 32bppBGRA.
Para obtener más información sobre los formatos BMP, consulta Información general sobre el formato BMP.
Nuevos formatos de píxeles
WIC en Windows 8 define estos nuevos formatos de píxeles:
- GUID_WICPixelFormat32bppRGB
- GUID_WICPixelFormat64bppRGB
- GUID_WICPixelFormat96bppRGBFloat
- GUID_WICPixelFormat64bppPRGBAHalf
Nota
El códec integrado TIFF devolverá GUID_WICPixelFormat96bppRGBFloat datos. Los otros tres formatos no se usan en códecs integrados.
Restricciones a la extensibilidad de componentes en AppContainer
Cuando se ejecuta en un proceso de AppContainer, que incluye todas las aplicaciones de la Tienda Windows, WIC solo usará componentes proporcionados por Windows, independientemente de si se instalan componentes adicionales en el sistema. La aplicación que no se ejecuta en AppContainer no se ve afectada.
Las aplicaciones no necesitan realizar ningún cambio de código para ejecutarse en un AppContainger, pero la marca WICComponentEnumerateOptions y los parámetros GUID del proveedor no tendrán ningún efecto. WIC no cargará una imagen si un códec proporcionado por Windows no puede descodificarla y llamar al método CreateComponentEnumerator solo devolverá los componentes proporcionados por Windows.
Cambios en CLSID_WICPngDecoder y compatibilidad con el contexto de color del descodificador PNG
CLSID_WICPngDecoder1 se ha agregado con el mismo GUID que CLSID_WICPngDecoder y se ha agregado CLSID_WICPngDecoder2 .
Cuando se compila con el SDK de Windows 8, CLSID_WICPngDecoder se #defined a CLSID_WICPngDecoder2 para promover las aplicaciones recién compiladas mediante el nuevo comportamiento del descodificador PNG. Las aplicaciones deben seguir especificando CLSID_WICPngDecoder.
Al especificar CLSID_WICPngDecoder2 creará una versión del descodificador WIC PNG que generará un IWICColorContext a partir de fragmentos cHRM y gAMA. Esto permite usar estos metadatos de espacio de colores con otras API de Windows para administrar el color de la imagen de origen. Un IWICColorContext no se genera a partir de los fragmentos gAMA y cHRM si existe un fragmento iCCP, si existe un fragmento sRGB o si los fragmentos gAMA y cHRM indican un espacio de color sRGB.
Una aplicación puede especificar CLSID_WICPngDecoder1 para crear una versión del descodificador WIC PNG que no genera un IWICColorContext a partir de los fragmentos gAMA y cHRM. Esto coincide con el comportamiento del descodificador PNG en versiones anteriores de Windows.
Cambios en WINCODEC_SDK_VERSION
Cuando se compila con el SDK de Windows 8, WINCODEC_SDK_VERSION se #defined a WINCODEC_SDK_VERSION2 para promover las aplicaciones recién compiladas mediante el nuevo comportamiento del descodificador PNG. De lo contrario, se #defined WINCODEC_SDK_VERSION1. Las aplicaciones deben seguir especificando WINCODEC_SDK_VERSION.
Al especificar WINCODEC_SDK_VERSION al llamar a WICCreateImagingFactory_Proxy para crear el generador de imágenes, CLSID_WICPngDecoder2 crear en lugar de CLSID_WICPngDecoder1 desde el método CreateDecoder y sus variantes. Además, un enumerador de información del componente de descodificador devolverá CLSID_WICPngDecoder2 información del componente, pero no CLSID_WICPngDecoder1 información.
Especificar WINCODEC_SDK_VERSION1 hará que se use CLSID_WICPngDecoder1 en lugar de CLSID_WICPngDecoder2 en los casos anteriores.
Cambios en CLSID_WICImagingFactory
CLSID_WICImagingFactory1 se ha agregado con el mismo GUID que CLSID_WICImagingFactory y se ha agregado CLSID_WICImagingFactory2 .
Cuando se compila con el SDK de Windows 8, CLSID_WICImagingFactory se #defined a CLSID_WICImagingFactory2 para promover las aplicaciones recién compiladas mediante el nuevo comportamiento del descodificador PNG. Las aplicaciones deben seguir especificando CLSID_WICImagingFactory.
Al especificar CLSID_WICImagingFactory2 al llamar a CoCreateInstance para crear el generador de imágenes, se CLSID_WICPngDecoder2 crear en lugar de CLSID_WICPngDecoder1 desde el método CreateDecoder y sus variantes. Además, un enumerador de información del componente de descodificador devolverá CLSID_WICPngDecoder2 información del componente, pero no CLSID_WICPngDecoder1 información.
Especificar CLSID_WICImagingFactory1 hará que se use CLSID_WICPngDecoder1 en lugar de CLSID_WICPngDecoder2 en los casos anteriores.
Novedades de Windows 7
En Windows 7, WIC se ha actualizado con varias características nuevas. En este tema se proporciona una introducción rápida a estas nuevas características.
Novedades al códec TIFF
El códec WIC TIFF se ha actualizado para Que Windows 7 admita varias características no compatibles con la versión anterior de WIC.
- Compatibilidad con archivos TIFF grandes.
- Descodificar imágenes TIFF en mosaico.
- Descodificar imágenes TIFF planas (planar).
- Descodificar imágenes TIFF codificadas en JPEG.
Descodificación progresiva
La descodificación progresiva proporciona la capacidad de descodificar y representar partes incrementales de una imagen antes de que la imagen completa haya terminado de descargarse. Esta característica mejora considerablemente la experiencia del usuario al ver imágenes de Internet, ya que el usuario no tiene que esperar a que se descargue toda la imagen antes de que pueda comenzar la descodificación. Con la descodificación progresiva, los usuarios pueden ver una vista previa de imágenes con datos disponibles mucho antes de que se descargue toda la imagen. Esta característica es esencial para cualquier aplicación que se use para ver imágenes desde Internet o desde orígenes de datos con ancho de banda limitado.
Para obtener más información, vea Información general sobre descodificación progresiva.
Compatibilidad con metadatos extendidos para JPEG, PNG y GIF
En Windows 7, WIC ha ampliado su compatibilidad con metadatos para imágenes JPEG, PNG y GIF.
- Se ha agregado compatibilidad con las propiedades GIF y GIF animadas.
- Controladores de metadatos JPG expandidos para admitir metadatos de cromo, luminancia y comentarios.
- Controladores de metadatos PNG expandidos para admitir metadatos tIME, sRGB, iCCP, hIST, cHRM, iTXt, bKGD y gAMA.
- Se han agregado nuevos controladores de metadatos 8BIM para los metadatos resolutionInfo y los metadatos de resumen de IPTC.
- Se han agregado nuevos controladores de metadatos para descriptores de pantalla lógicos (LSD), descriptor de imagen (IMD), extensiones de control gráfico (GCE) y metadatos de extensiones de aplicación (APE).
- Compatibilidad con metadatos que abarcan bloques APPn.
Compatibilidad con apartamentos multiproceso
Los objetos dentro de un apartamento multiproceso (MTA) pueden llamarse simultáneamente por cualquier número de subprocesos dentro de MTA, lo que permite un mejor rendimiento en sistemas de varios núcleos y determinados escenarios de servidor. Además, los códecs WIC que residen dentro de un MTA pueden llamar a otros objetos que residen dentro del MTA sin el costo de serialización asociado a la llamada entre subprocesos que residen en diferentes apartamentos STA. En Windows 7, todos los códecs WIC incorporados se han actualizado para admitir MTA, incluidos JPEG, TIFF, PNG, GIF, ICO y BMP. Se recomienda encarecidamente escribir códecs para admitir MTA. Los códecs que no admiten MTA provocarán una degradación significativa del rendimiento en aplicaciones multiproceso debido a la serialización. La habilitación de la compatibilidad con MTA requiere la sincronización adecuada para implementarse en el códec. La implementación exacta de estas técnicas de sincronización está fuera del ámbito de este documento. A continuación se proporciona una referencia general para sincronizar objetos del modelo de objetos componentes (COM).
Implementaciones del grupo de trabajo de metadatos
Actualmente hay una variedad de formatos de almacenamiento de metadatos que contienen propiedades superpuestas, sin ningún estándar del sector claro o instrucciones sobre métodos coherentes para leer y escribir estos formatos de metadatos. Para ayudar con esta variedad de formatos y propiedades, se formó el Grupo de trabajo de metadatos (MWG). El objetivo del MWG es proporcionar directrices que garantizan la interoperabilidad entre una amplia variedad de plataformas, aplicaciones y dispositivos. Las directrices establecidas por el MWG se aplican a los campos de metadatos XMP, Exif e IPTC, así como a los formatos de imagen JPEG, TIFF y PSD.
En Windows 7, el controlador de metadatos de fotos y la capa de directiva de metadatos se han actualizado para leer y escribir metadatos de imagen según las directrices establecidas por el MWG. Para obtener más información sobre el Grupo de trabajo de metadatos (MWG), vea las directrices de metadatos establecidas.
Características de Windows 7 compatibles con Windows Vista y Windows Server 2008
Platform Update para Windows Vista es un conjunto de bibliotecas en tiempo de ejecución que permite a los desarrolladores dirigirse a aplicaciones tanto a Windows 7 como a Windows Vista. Platform Update para Windows Server 2008 es un conjunto de bibliotecas en tiempo de ejecución que permite a los desarrolladores dirigirse a aplicaciones tanto a Windows Server 2008 R2 como a Windows Server 2008. La actualización de plataforma para Windows Vista y la actualización de plataforma para Windows Server 2008 estarán disponibles para todos los clientes de Windows Vista y Windows Server 2008 a través de Windows Update. Las aplicaciones de terceros que requieren actualización de plataforma para Windows Vista o actualización de plataforma para Windows Server 2008 pueden tener Windows Update detectar si está instalada la actualización necesaria; si no es así, Windows Update descargará e instalará en segundo plano. Para obtener más información sobre ambas actualizaciones, consulta Actualización de plataforma para Windows Vista