Share via


Especificación de recursos de imagen de cinta

Como sistema de presentación de comandos enriquecido, el marco de la cinta de opciones de Windows está diseñado para admitir recursos de imagen ampliamente en toda la interfaz de usuario (UI) de la cinta de opciones. Todos los recursos de imagen se declaran en el marcado de la cinta o se consultan desde una aplicación host de cinta de opciones.

Para Windows 8 y versiones posteriores, el marco de la cinta de opciones admite los siguientes formatos gráficos: archivos de mapa de bits ARGB (BMP) de 32 bits y archivos portables de gráficos de red (PNG) con transparencia.

Para Windows 7 y versiones anteriores, los recursos de imagen deben cumplir el formato de gráficos BMP estándar que se usa en Windows.

Nota

Puede producirse un error de compilación si se proporciona un formato de imagen no compatible al marco de trabajo.

 

Tamaños de imagen

Para proporcionar mayor flexibilidad para los diseños de control de cinta al cambiar el tamaño de una ventana de aplicación, el marco de la cinta acepta y representa imágenes en uno de dos tamaños: grande o pequeño.

En las imágenes siguientes se muestra una aplicación ribbon que admite varios tamaños de cinta a través de diseños de control flexibles y la sustitución de imágenes grandes con imágenes pequeñas donde estén disponibles.

En la captura de pantalla siguiente se muestra la cinta de opciones con imágenes grandes para los controles Zoom.

captura de pantalla que muestra una cinta de opciones que usa imágenes grandes para los controles de zoom.

En la captura de pantalla siguiente se muestra el mismo tamaño de la cinta de opciones con imágenes pequeñas para los controles Zoom.

captura de pantalla que muestra una cinta de opciones que usa imágenes pequeñas para los controles de zoom.

En la captura de pantalla siguiente se muestra la cinta de opciones en estado oculto. La cinta de opciones está oculta cuando se han agotado todos los diseños de control potenciales y la cinta de opciones no se puede representar con un área de trabajo de aplicación utilizable.

captura de pantalla que muestra una cinta contraída.

Para cualquier imagen, el tamaño exacto de píxel depende de la resolución de pantalla, o puntos por pulgada (ppp) del monitor que se usa. A 96 ppp, las imágenes grandes tienen un tamaño de 32 x 32 píxeles y las imágenes pequeñas tienen un tamaño de 16 x 16 píxeles. Los tamaños de imagen aumentan de forma lineal con respecto a ppp, como se muestra en la tabla siguiente.

ppp Imagen pequeña Imagen grande
96 ppp 16 x 16 píxeles 32 x 32 píxeles
120 ppp 20 x 20 píxeles 40 x 40 píxeles
144 ppp 24 x 24 píxeles 48 x 48 píxeles
192 ppp 32 x 32 píxeles 64 x 64 píxeles

 

El marco de la cinta escala los recursos de imagen según sea necesario. Sin embargo, dado que el cambio de tamaño puede producir artefactos no deseados y degradación de imágenes, se recomienda encarecidamente que la aplicación proporcione un pequeño conjunto de recursos de imagen que abarquen varias configuraciones de ppp usadas habitualmente. Si no se encuentra una coincidencia exacta, la imagen más cercana se escalará o reducirá verticalmente.

Para facilitar esto, los recursos de imagen se pueden declarar en el marcado de cinta mediante un conjunto de elementos Image para cada elemento Command . En tiempo de ejecución, el marco selecciona la imagen que se va a mostrar en función del atributo MinDPI de cada elemento Image .

Importante

Cuando se proporciona una colección de recursos de imagen diseñados para admitir una configuración específica de ppp de pantalla en el marco de la cinta mediante un conjunto de elementos Image , el marco usa el valor de atributo Image con un valor de atributo MinDPI que coincide con la configuración actual de ppp de pantalla.

Si no se declara ningún elemento Image con un valor MinDPI que coincida con la configuración actual de ppp de pantalla, el marco selecciona la imagen que tiene el valor minDPI más cercano menor que el valor de ppp de pantalla actual y escala verticalmente el recurso de imagen. De lo contrario, si no se declara ningún elemento Image con un valor de atributo MinDPI menor que la configuración actual de ppp de pantalla, el marco elige el valor MinDPI más cercano que el valor de ppp de pantalla actual y reduce verticalmente el recurso de imagen.

 

En el ejemplo siguiente se muestra cómo declarar un conjunto de imágenes para dar cabida a varios tamaños de cinta y configuración del sistema.

<Command.LargeImages>
  <Image Source="res/CutLargeImage32.bmp" Id="116" Symbol="ID_CUT_LARGEIMAGE1" MinDPI="96" />
  <Image Source="res/CutLargeImage40.bmp" Id="117" Symbol="ID_CUT_LARGEIMAGE2" MinDPI="120" />
  <Image Source="res/CutLargeImage48.bmp" Id="118" Symbol="ID_CUT_LARGEIMAGE3" MinDPI="144" />
  <Image Source="res/CutLargeImage64.bmp" Id="119" Symbol="ID_CUT_LARGEIMAGE4" MinDPI="192" />
</Command.LargeImages>
<Command.SmallImages>
  <Image Source="res/CutSmallImage16.bmp" Id="122" Symbol="ID_CUT_SMALLIMAGE1" MinDPI="96" />
  <Image Source="res/CutSmallImage20.bmp" Id="123" Symbol="ID_CUT_SMALLIMAGE2" MinDPI="120" />
  <Image Source="res/CutSmallImage24.bmp" Id="124" Symbol="ID_CUT_SMALLIMAGE3" MinDPI="144" />
  <Image Source="res/CutSmallImage32.bmp" Id="125" Symbol="ID_CUT_SMALLIMAGE4" MinDPI="192" />
</Command.SmallImages>
<Command.LargeHighContrastImages>
  <Image Source="res/CutLargeImage32HC.bmp" Id="130" Symbol="ID_CUT_LARGEIMAGE1HC" MinDPI="96" />
  <Image Source="res/CutLargeImage40HC.bmp" Id="131" Symbol="ID_CUT_LARGEIMAGE2HC" MinDPI="120" />
  <Image Source="res/CutLargeImage48HC.bmp" Id="132" Symbol="ID_CUT_LARGEIMAGE3HC" MinDPI="144" />
  <Image Source="res/CutLargeImage64HC.bmp" Id="133" Symbol="ID_CUT_LARGEIMAGE4HC" MinDPI="192" />
</Command.LargeHighContrastImages>
<Command.SmallHighContrastImages>
  <Image Source="res/CutSmallImage16HC.bmp" Id="135" Symbol="ID_CUT_SMALLIMAGE1HC" MinDPI="96" />
  <Image Source="res/CutSmallImage20HC.bmp" Id="136" Symbol="ID_CUT_SMALLIMAGE2HC" MinDPI="120" />
  <Image Source="res/CutSmallImage24HC.bmp" Id="137" Symbol="ID_CUT_SMALLIMAGE3HC" MinDPI="144" />
  <Image Source="res/CutSmallImage32HC.bmp" Id="138" Symbol="ID_CUT_SMALLIMAGE4HC" MinDPI="192" />
</Command.SmallHighContrastImages>

Si las imágenes declaradas en marcado se invalidan en tiempo de ejecución por cualquier motivo, se consulta la aplicación host para obtener nuevas imágenes. Cuando estas imágenes se generan y cargan mediante programación, la aplicación debe intentar devolver imágenes que tienen el tamaño según los tamaños predeterminados del icono del sistema determinados por la métrica del sistema de SM_CXICON.

Nota

Las imágenes grandes tienen un tamaño de SM_CXICON por SM_CXICON y pequeñas imágenes tienen un tamaño de SM_CXICON/2 por SM_CXICON/2.

 

Profundidad de color, transparencia y contraste

Se espera que las imágenes normales estén en formato de píxeles ARGB de 32 bits por píxel (BPP) y se escalan al tamaño predeterminado del icono del sistema. Este formato admite transparencia y suavizado de contorno (con 8 bits por canal).

Advertencia

Muchas herramientas de edición de imágenes no conservan el canal alfa de 8 bits de mayor orden al cargar o guardar imágenes BPP de 32.

 

Para que una imagen se muestre correctamente en modo de contraste alto, debe tener un formato de píxel paletizado de 4 BPP. Cuando se representa la imagen, el marco de la cinta de opciones reasigna colores específicos en función del contexto de contraste alto de la imagen.

En la tabla siguiente se muestra el comportamiento de representación de color de contraste alto del marco.

Color de píxel

Valor RGB

Comportamiento

Fondo blanco

Fondo oscuro

MAGENTA

800080

Transparente

Transparente

NEGRO

000000

COLOR_WINDOWTEXT

BLANCO

BLANCO

FFFFFF

COLOR_WINDOW

NEGRO

GRIS OSCURO

808080

COLOR_3DSHADOW

COLOR_3DSHADOW

GRIS

C0C0C0

COLOR_3DFACE

COLOR_3DFACE

GRIS CLARO

DFDFDF

COLOR_3DLIGHT

COLOR_3DLIGHT

AZUL OSCURO

000080

N/D

BLANCO

 

Para obtener más información sobre los formatos de imagen admitidos por el marco de la cinta de opciones, consulte lo siguiente:

Accesibilidad

Confiar en los recursos de imagen para proporcionar información, transmitir la funcionalidad de control y exponer el estado de la aplicación, aumenta la necesidad de requisitos de accesibilidad durante el diseño y el desarrollo de aplicaciones.

Para obtener compatibilidad básica con contraste alto, la cinta de opciones permite mostrar un conjunto independiente de archivos de imagen cuando un tema de contraste alto está activo. Estas imágenes pueden ser 32 BPP o 4 BPP, con colores asignados a una paleta especial donde los colores oscuros y claros se invierten en función de los colores de primer plano y de fondo del tema activo de contraste alto.

En el ejemplo siguiente se muestra cómo se declaran los recursos de imagen de contraste alto en el marcado de la cinta de opciones:

<Command Name="cmdNew" Id="0xE100" Symbol="ID_CMD_NEW" LabelTitle="New document" Keytip="N" >
      <Command.TooltipTitle>New (Ctrl+N)</Command.TooltipTitle>
      <Command.TooltipDescription>Create a new document.</Command.TooltipDescription>
      <Command.LargeImages>
        <Image Source="cmdNew-32px.bmp" MinDPI="96" />
        <Image Source="cmdNew-40px.bmp" MinDPI="120" />
        <Image Source="cmdNew-48px.bmp" MinDPI="144" />
        <Image Source="cmdNew-64px.bmp" MinDPI="192" />
      </Command.LargeImages>
      <Command.LargeHighContrastImages>
        <Image Source="cmdNew-32px-HC.bmp" MinDPI="96" />
        <Image Source="cmdNew-40px-HC.bmp" MinDPI="120" />
        <Image Source="cmdNew-48px-HC.bmp" MinDPI="144" />
        <Image Source="cmdNew-64px-HC.bmp" MinDPI="192" />
      </Command.LargeHighContrastImages>
      <Command.SmallImages>
        <Image Source="cmdNew-16px.bmp" MinDPI="96" />
        <Image Source="cmdNew-20px.bmp" MinDPI="120" />
        <Image Source="cmdNew-24px.bmp" MinDPI="144" />
        <Image Source="cmdNew-32px.bmp" MinDPI="192" />
      </Command.SmallImages>
      <Command.SmallHighContrastImages>
        <Image Source="cmdNew-16px-HC.bmp" MinDPI="96" />
        <Image Source="cmdNew-20px-HC.bmp" MinDPI="120" />
        <Image Source="cmdNew-24px-HC.bmp" MinDPI="144" />
        <Image Source="cmdNew-32px-HC.bmp" MinDPI="192" />
      </Command.SmallHighContrastImages>
    </Command>

Command.SmallImages

UI_PKEY_SmallImage

Command.LargeImages

UI_PKEY_LargeImage

Command.SmallHighContrastImages

UI_PKEY_SmallHighContrastImage

Command.LargeHighContrastImages

UI_PKEY_LargeHighContrastImage