Partager via


Gestion des formats de couleur

Important

La plateforme d’impression moderne est le moyen privilégié de Windows pour communiquer avec les imprimantes. Nous vous recommandons d’utiliser le pilote de classe IPP en boîte de Microsoft, ainsi que les applications de support d’impression (PSA), pour personnaliser l’expérience d’impression dans Windows 10 et 11 pour le développement de périphériques d’impression.

Pour plus d’informations, veuillez consulter la section Plateforme d’impression moderne et le Guide de conception des applications de support d’impression.

Chaque format de couleur pris en charge par une imprimante est spécifié comme une option de la fonctionnalité ColorMode. En utilisant les attributs d’option pour la fonctionnalité ColorMode, vous pouvez décrire chaque format de couleur que votre imprimante accepte. Le tableau suivant illustre les formats de données couleur que Unidrv peut gérer.

Nombre de plans de couleur Nombre de bits par pixel
dans le périphérique (*DevNumOfPlanes) dans le périphérique (*DevBPP)
1 1 (noir et blanc)
1 8
1 24
3 1 (CMY et RVB)
4 1 (CMJN)

Pour ces formats, Unidrv peut convertir les données bitmap indépendantes du périphérique (DIB) dans le format approprié et les envoyer à l’imprimante. (Les opérations de tramage pouvant être effectuées sur ces données sont décrites dans Tramage avec Unidrv).

Si votre imprimante prend en charge des formats de couleur qui ne sont pas répertoriés dans le tableau précédent, vous devez faire ce qui suit :

La méthode IPrintOemUni ImageProcessing doit effectuer les opérations suivantes :

  • Convertir les données DIB dans le format de couleur de l’imprimante.

  • Effectuer des opérations de tramage sur les données.

  • Envoyer les données au spooler d’impression.

Pour plus d’informations sur la fourniture d’une fonction IPrintOemUni ImageProcessing, veuillez consulter la section Formats de couleur personnalisés.

Rendu d’images de haute qualité

Pour chaque format de couleur, vous spécifiez à la fois le nombre de bits par pixel accepté par le matériel de l’imprimante et le nombre de bits par pixel que vous souhaitez qu’Unidrv utilise lors de la création des DIB. Ces valeurs sont spécifiées respectivement avec les attributs *DevBPP et *DrvBPP. Il est parfois souhaitable que les images soient rendues sous forme de bitmaps ayant un nombre de bits par pixel supérieur à celui que l’imprimante peut gérer (afin, par exemple, de tenter de reproduire des photographies de haute qualité). Il est donc possible de spécifier une valeur *DrvBPP qui soit supérieure au résultat de la multiplication de la valeur *DevBPP par la valeur *DevNumOfPlanes.

Par exemple, supposons que vous souhaitiez définir une option ColorMode qui entraîne le rendu des images en tant que bitmaps de 24 bits par pixel, puis que vous souhaitiez que le bitmap soit envoyé à l’imprimante sous forme de données CMJN. Vous pourriez définir ce mode comme suit :

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

Dans cet exemple, les attributs *DevBPP et *DevNumOfPlanes représentent le format CMJN à quatre plans et un bit par plan qu’Unidrv peut rendre puis envoyer à l’imprimante. Cependant, dans ce cas, des opérations de tramage doivent être effectuées sur l’image rendue avant son impression. Il faut utiliser le tramage fourni par le minipilote.