Partager via


Minidriver-Supplied Halftoning

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.

Si un format de couleur spécifié est un pour lequel le nombre de bits par pixel utilisé pour le rendu de l’image (*DrvBPP) est supérieur aux bits par pixel pris en charge par l’imprimante (*DevBPP multiplié par *DevNumOfPlanes), vous devez fournir des fonctionnalités de halftoning personnalisées.

Pour fournir des fonctionnalités de halftoning personnalisées, vous devez effectuer les opérations suivantes :

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

  • Incluez une entrée Halftone*Feature dans votre fichier GPD et, pour chaque méthode de halftoning personnalisée, incluez une entrée *Option décrivant la méthode de halftoning. (N’utilisez aucun des attributs d’option pour la fonctionnalité de demi-teinte.)

  • Incluez une entrée ColorMode *Feature dans votre fichier GPD. Pour chaque option de mise en forme de couleur spécifiée, vous devez inclure un attribut *IPCallbackID si vous souhaitez que votre méthode IPrintOemUni ImageProcessing gère la demi-génération pour ce format de couleur.

L’exemple suivant définit deux formats de couleur et quatre méthodes de halftoning. L’exemple utilise des contraintes d’option pour spécifier les méthodes de halftoning Unidrv qui doivent permettre à un utilisateur de sélectionner pour chaque format de couleur.

*Feature: ColorMode
{
    *Option: ColorFormat1
    {
        *Name: "Color Format 1"
        *DevBPP: 1
        *DevNumofPlanes: 4
        *ColorPlaneOrder: LIST (CYAN, MAGENTA, YELLOW, BLACK)
        *DrvBPP: 4
        *Constraints: LIST (Halftone.CustomHalftoneMethod1,
+                           Halftone.CustomHalftoneMethod2)
    }
    *Option: ColorFormat2
    {
        *Name: "Color Format 2"
        *DevBPP: 24
        *DevNumofPlanes: 1
        *DrvBPP: 8
        *IPCallbackID: 100
        *Constraints: LIST (Halftone.StandardHalftoneMethod1,
+                           Halftone.StandardHalftoneMethod2)
    }
}
*Feature: Halftone
{
    *Option: StandardHalftoneMethod1
    {
        *Name: "Standard Halftone Method 1"
    }
    *Option: StandardHalftoneMethod2
    {
        *Name: "Standard Halftone Method 2"
    }
    *Option: CustomHalftoneMethod1
    {
        *Name: "Custom Halftone Method 1"
    }
    *Option: CustomHalftoneMethod2
    {
        *Name: "Custom Halftone Method 2"
    }
}

Dans l’exemple, les options ColorFormat1 et ColorFormat2 ColorMode représentent les formats de couleurs que Unidrv peut gérer, comme expliqué dans Gestion des formats de couleurs. Pour ColorFormat2, un attribut *IPCallbackID est spécifié. Si l’utilisateur de l’imprimante sélectionne ColorFormat2 comme format de couleur, Unidrv appelle la méthode COM IPrintOemUni ImageProcessing de l’imprimante pour gérer la demi-génération. L’un des paramètres de la méthode est un pointeur vers le nom de chaîne représentant la méthode de halftoning actuellement sélectionnée.

Pour plus d’informations sur le halftoning, consultez Halftoning personnalisé.