Compartilhar via


Meio-tom fornecido pelo minidriver

Importante

A plataforma de impressão moderna é o meio preferencial do Windows para se comunicar com as impressoras. Recomendamos que você use o driver de classe de caixa de entrada IPP da Microsoft juntamente com PSA (Aplicativos de Suporte à Impressão) para personalizar a experiência de impressão no Windows 10 e 11 para o desenvolvimento de dispositivos de impressora.

Para obter mais informações, consulte Plataformade impressão moderna e o Guia de design do aplicativo de suporte de impressão.

Se um formato de cor especificado for aquele para o qual o número de bits por pixel usado para renderizar a imagem (*DrvBPP) é maior do que os bits por pixel suportados pela impressora (*DevBPP multiplicado por *DevNumOfPlanes), você deverá fornecer recursos de meio-tom personalizados.

Para fornecer recursos de meio-tom personalizados, você deve fazer o seguinte:

  • Forneça um plug-in de renderização que implemente o método IPrintOemUni ImageProcessing.

  • Inclua uma entrada Halftone*Feature em seu arquivo GPD e, para cada método de meio-tom personalizado, inclua uma entrada *Option descrevendo o método de meio-tom. (Não use nenhum dos atributos de opção para o recurso de meio-tom.)

  • Inclua uma entrada ColorMode *Feature em seu arquivo GPD. Para cada opção de formatação de cor especificada, você deve incluir um atributo *IPCallbackID se quiser que o método IPrintOemUni ImageProcessing manipule meios-tons para esse formato de cor.

O exemplo a seguir define dois formatos de cores e quatro métodos de meio-tom. O exemplo usa restrições de opção para especificar quais métodos de meio-tom o Unidrv deve permitir que um usuário selecione para cada formato de cor.

*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"
    }
}

No exemplo, as opções ColorFormat1 e ColorFormat2 ColorMode representam formatos de cor que o Unidrv pode manipular, conforme explicado em Manipulando formatos de cor. Para ColorFormat2, um atributo *IPCallbackID é especificado. Se o usuário da impressora selecionar ColorFormat2 como o formato de cor, o Unidrv chamará o método COM IPrintOemUni ImageProcessing da impressora para lidar com meios-tons. Um dos parâmetros do método é um ponteiro para o nome da cadeia de caracteres que representa o método de meio-tom selecionado no momento.

Para obter mais informações sobre meios-tons, consulte Meios-tons personalizados.