Compartir a través de


Control de formatos de color

Importante

La plataforma de impresión moderna es el medio preferido de Windows para comunicarse con impresoras. Se recomienda usar el controlador de clase de bandeja de entrada IPP de Microsoft, junto con aplicaciones de soporte técnico de impresión (PSA), para personalizar la experiencia de impresión en Windows 10 y 11 para el desarrollo de dispositivos de impresora.

Para obtener más información, consulte Plataforma de impresión moderna y la Guía de diseño de aplicaciones para compatibilidad con impresión.

Cada formato de color que admite una impresora se especifica como una opción para la característica ColorMode. Mediante el uso de atributos de opción para la característica ColorMode, puede describir cada formato de color que acepte la impresora. En la tabla siguiente se muestran los formatos de datos de color que Unidrv puede controlar.

Número de planos de color Número de bits por píxel
En dispositivo (*DevNumOfPlanes) En dispositivo (*DevBPP)
1 1 (Blanco y negro)
1 8
1 24
3 1 (CMY y RGB)
4 1 (CMYK)

Para estos formatos, Unidrv puede convertir datos de mapa de bits independiente del dispositivo (DIB) en el formato adecuado y enviarlos a la impresora. (Las operaciones de semitono que se pueden realizar en estos datos se describen en Semitono con Unidrv).

Si la impresora admite formatos de color que no aparecen en la tabla anterior, debe hacer lo siguiente:

El método IPrintOemUni ImageProcessing debe realizar las siguientes operaciones:

  • Convertir los datos DIB en el formato de color de la impresora.

  • Realizar operaciones de semitono en los datos.

  • Enviar los datos al administrador de trabajos de impresión.

Para obtener más información sobre cómo proporcionar una función IPrintOemUni ImageProcessing, consulte Formatos de color personalizados.

Representación de imágenes de alta calidad

Para cada formato de color, especifique los bits por píxel que acepta el hardware de la impresora y los bits por píxel que desea que Unidrv use al crear DIB. Estos valores se especifican con los atributos *DevBPP y *DrvBPP, respectivamente. A veces, es conveniente que las imágenes se represente como mapas de bits que tengan un número mayor de bits por píxel que la impresora puede controlar (por ejemplo, para intentar reproducir fotografías de alta calidad). Por lo tanto, es posible especificar un valor *DrvBPP mayor que el resultado de multiplicar el valor de *DevBPP por el valor de *DevNumOfPlanes.

Por ejemplo, supongamos que desea definir una opción ColorMode que hace que las imágenes se representen como mapas de bits o píxeles de 24 bits, pero, a continuación, desea que el mapa de bits se envíe a la impresora como datos CMYK. Puede definir este modo de la siguiente manera:

*Feature: ColorMode
{
    *Option: 24toCMYK
    {
        *Name: "Photographic Quality"
        *DrvBPP: 24
        *DevNumOfPlanes: 4
        *DevBPP: 1
        *ColorPlaneOrder: LIST(CYAN, MAGENTA, YELLOW, BLACK)
        *IPCallbackID: 1
    }
 other options
}

En este ejemplo, los atributos *DevBPP y *DevNumOfPlanes representan el formato CMYK de cuatro planos, formato de un bit por plano que Unidrv puede representar y, a continuación, enviar a la impresora. Sin embargo, en este caso, las operaciones de semitono deben realizarse en la imagen representada antes de imprimirla. Se debe utilizar el Semitono proporcionado por el minicontrolador.