Controladores de miniaturas
Windows Vista hace un uso mayor de imágenes en miniatura específicas del archivo que las versiones anteriores de Windows. Windows Vista los usa en todas las vistas, en cuadros de diálogo y para cualquier tipo de archivo que los proporcione. Otras aplicaciones también pueden consumir la miniatura. La presentación en miniatura también ha cambiado. Ahora, hay disponible un espectro continuo de tamaños seleccionables por el usuario en lugar de los tamaños discretos, como iconos y miniaturas proporcionados en Windows XP.
Nota
Es posible que escuche estas miniaturas denominadas Iconos dinámicos.
Las miniaturas de resolución de 32 bits y de hasta 256 x 256 píxeles se usan a menudo en la interfaz de usuario de Windows Vista. Los propietarios de formato de archivo deben estar preparados para mostrar sus miniaturas en ese tamaño. También deben proporcionar imágenes no estáticas para sus miniaturas que reflejen el contenido del archivo determinado. Por ejemplo, la miniatura de un archivo de texto debe mostrar una versión en miniatura del documento, incluido su texto.
La interfaz IThumbnailProvider se ha introducido para facilitar una miniatura y más sencilla que en el pasado, cuando IExtractImage se habría usado en su lugar. Tenga en cuenta que el código existente que usa IExtractImage sigue siendo válido en Windows Vista. Sin embargo, IExtractImage no se admite en el panel Detalles .
Este tema trata lo siguiente:
- Procesos en miniatura
- Tamaño y caché de miniaturas
- Superposiciones en miniatura
- Adornos en miniatura
- Registro del controlador de miniaturas
- Temas relacionados
Procesos en miniatura
Los controladores, incluidos los controladores de miniaturas, se ejecutan de forma predeterminada en un proceso independiente. Puede forzar que el controlador se ejecute en proceso pasando un valor NULL como contexto de enlace en una llamada a IShellItem::BindToHandler como se muestra aquí:
IShellItem::BindToHandler(NULL, BHID_ThumbnailHandler,..)
También puede optar por no quedarse sin proceso de forma predeterminada estableciendo la entrada DisableProcessIsolation en el Registro, como se muestra en este ejemplo. El identificador de clase (CLSID) {E357FCCD-A995-4576-B01F-234630154E96} es el CLSID para las implementaciones de IThumbnailProvider .
HKEY_CLASSES_ROOT
CLSID
{E357FCCD-A995-4576-B01F-234630154E96}
DisableProcessIsolation = 1
Tamaño y caché de miniaturas
Cuando se necesita una miniatura, Windows comprueba primero la memoria caché de miniaturas de la imagen. Se llama al extractor de miniaturas si la imagen no se encuentra en la memoria caché. También se llama cuando la hora de la última modificación de la imagen es posterior a la de la copia en la memoria caché.
Las imágenes en miniatura de esta caché se almacenan en un conjunto de tamaños discretos. Todos los tamaños se proporcionan en píxeles.
- 32x32
- 96x96
- 256x256
- 1024x1024
Nota
Estos valores están sujetos a cambios. El código no debe suponer que siempre se usará ningún tamaño determinado.
Si una imagen no es cuadrada, no debe rellenarla usted mismo. Windows es responsable de respetar la relación de aspecto original y rellenar la imagen a un tamaño cuadrado.
Cuando se solicita una imagen de un tamaño determinado, a menos que se encuentre una coincidencia exacta, Windows Vista siempre recupera la siguiente imagen más grande y la reduce verticalmente al tamaño solicitado. Una imagen nunca se escala verticalmente, como era el caso en versiones anteriores de Windows.
En la tabla siguiente se proporcionan algunos ejemplos de la relación entre el tamaño solicitado y el tamaño disponible.
Tamaño máximo de imagen que proporcione | Tamaño solicitado por el extractor | Proporcione |
---|---|---|
156 x 120 | 256x256 | 156x120 (No rellenar, mantener la relación de aspecto) |
2048x1024 | 256x256 | 256x128 (No rellenar, mantener la relación de aspecto) |
Puedes declarar un punto de interrupción como parte de la entrada de id. de programa de la aplicación asociada en el Registro. Debajo de este tamaño, no se usan miniaturas.
HKEY_CLASSES_ROOT
.{ProgId}
ThumbnailCutoff
La entrada ThumbnailCutoff es uno de estos valores de REG_DWORD.
Valor | Corte | HighDPI Sensitive |
---|---|---|
0 | 32x32 | Sí |
1 | 16x16 | Sí |
2 | 48x48 | Sí |
3 | 16x16 | Yes |
La sensibilidad de puntos altos por pulgada (ppp) significa que las dimensiones de píxeles de la miniatura se ajustan automáticamente para el mayor ppp. Por ejemplo, una imagen de 32 x 32 a 96 ppp sería una imagen de 40 x 40 ppp a 120 ppp.
Si no se especifica la entrada ThumbnailCutoff, el límite predeterminado es 20x20 (no distingue ppp).
Superposiciones en miniatura
Las superposiciones en miniatura, una imagen pequeña que se muestra en la esquina inferior derecha de la miniatura, proporcionan una oportunidad para que los desarrolladores apliquen la identificación de marca a sus miniaturas. Las superposiciones se declaran en el Registro como parte de la entrada de identificador de programa de la aplicación asociada, como se muestra aquí:
HKEY_CLASSES_ROOT
.{ProgId}
TypeOverlay
La entrada TypeOverlay contiene un valor de REG_SZ interpretado de la siguiente manera:
- Si el valor es una referencia de recursos (un archivo .ico insertado en el archivo DLL), como
ISVComponent.dll,-155
, esa imagen se usa como superposición para los archivos con esa extensión de nombre de archivo. Tenga en cuenta que en este ejemplo, 155 es el identificador de recurso y si el archivo DLL no está presente en una ruta de acceso estándar (como C:/Windows/System32), la ruta de acceso completa es necesaria en lugar de solo el nombre de la DLL. - Si el valor es una cadena vacía, no se aplica ninguna superposición a la imagen.
- Si el valor no está presente, se usa el icono predeterminado de la aplicación asociada.
Las superposiciones de las miniaturas solo deben proporcionarse a través de este mecanismo y aplicarlas por Windows. No aplique superposiciones usted mismo.
Adornos en miniatura
Los adornos, como las sombras de colocación, se aplican a miniaturas basadas en el tema seleccionado actualmente por el usuario. Los adornos son proporcionados por Windows; no los cree usted mismo. Windows podría cambiar el aspecto de adornos concretos en cualquier momento, por lo que si te proporcionaste tu propio, corres el riesgo de que no se sincronice con el sistema. Las miniaturas podrían acabar buscando descuado o fuera del lugar.
Los adornos potenciales se declaran en el Registro como parte de la entrada de identificador de programa de la aplicación asociada, como se muestra aquí:
HKEY_CLASSES_ROOT
.{ProgId}
Treatment
La entrada Tratamiento contiene uno de estos valores de REG_DWORD:
Valor | Significado |
---|---|
0 | Sin adorno |
1 | Sombra paralela |
2 | Borde de la foto |
3 | Video Sprockets |
Una sombra de colocación se aplica a las imágenes de forma predeterminada.
Registro del controlador de miniaturas
El registro de un controlador de miniaturas se basa en asociaciones de archivos estándar.
El GUID de la extensión shell del controlador de miniaturas es E357FCCD-A995-4576-B01F-234630154E96
.
Temas relacionados