Partager via


Gestion des formats de couleurs

Important

Nous vous recommandons d’utiliser le pilote de classe de boîte de réception IPP 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’imprimante.

Pour plus d’informations, consultez le Guide de conception de l’application de support d’impression.

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

Nombre de plans de couleurs Nombre de bits par pixel
dans l’appareil (*DevNumOfPlanes) dans l’appareil (*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 halftoning qui peuvent être effectuées sur ces données sont décrites dans Halftoning avec Unidrv.)

Si votre imprimante prend en charge les formats de couleurs qui ne sont pas répertoriés dans le tableau précédent, vous devez effectuer les opérations suivantes :

  • Définissez les attributs *DevNumOfPlanes et *DevBPP sur zéro. Cela empêche Unidrv d’envoyer des données DIB à l’imprimante.

  • Fournissez un plug-in de rendu qui implémente la méthode IPrintOemUni ImageProcessing .

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

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

  • Effectuez des opérations de halftoning sur les données.

  • Envoyez les données au spouleur d’impression.

Pour plus d’informations sur la fourniture d’une fonction ImageProcessing IPrintOemUni , consultez Formats de couleurs personnalisés.

Rendu d’images de haute qualité

Pour chaque format de couleur, vous spécifiez à la fois les bits par pixel acceptés par le matériel d’imprimante et les bits par pixel que l’unidrv doit utiliser lors de la création de D DIBs. Ces valeurs sont spécifiées avec les attributs *DevBPP et *DrvBPP, respectivement. Parfois, il est 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, d’essayer de reproduire des photographies de haute qualité). Par conséquent, il est autorisé de spécifier une valeur *DrvBPP 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 sous forme de bitmaps de 24 bits/pixel, mais que vous souhaitez ensuite envoyer la bitmap à l’imprimante en tant que données CMJN . Vous pouvez 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, un bit par plan que Unidrv peut afficher, puis envoyer à l’imprimante. Toutefois, dans ce cas, des opérations de halftoning doivent être effectuées sur l’image rendue avant son impression. Le halftoning fourni par minidriver doit être utilisé.