微型驱动程序提供的半色调

重要

新式打印平台是 Windows 与打印机通信的首选方式。 建议使用 Microsoft 的 IPP 收件箱类驱动程序以及打印支持应用 (PSA) 来自定义 Windows 10 和 11 中的打印体验,以便进行打印机设备开发。

有关详细信息,请参阅新式打印平台打印支持应用设计指南

如果指定的颜色格式中用于渲染图像的每像素位数 (*DrvBPP) 大于打印机支持的每像素位数(*DevBPP 乘以 *DevNumOfPlanes),则必须提供自定义的半色调功能。

若要提供自定义的半色调功能,必须执行以下操作:

  • 提供一个渲染插件,实现 IPrintOemUni ImageProcessing 方法。

  • 在 GPD 文件中包含一个 Halftone*Feature 条目,对于每种自定义的半色调方法,包含一个描述半色调方法的 *Option 条目。 (不要将任何选项属性用于半色调功能。)

  • 在 GPD 文件中包括 ColorMode *功能条目。 对于每个指定的颜色格式选项,如果希望 IPrintOemUni ImageProcessing 方法处理该颜色格式的半色调,则必须包含 *IPCallbackID 属性。

以下示例定义了两种颜色格式和四种半色调方法。 该示例使用选项约束来指定 Unidrv 应允许用户为每种颜色格式选择哪些半色调方法。

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

在此示例中,ColorFormat1 和 ColorFormat2 ColorMode 选项都表示 Unidrv 可以处理的颜色格式,如处理颜色格式中所述。 对于 ColorFormat2,指定 *IPCallbackID 属性。 如果打印机用户选择 ColorFormat2 作为颜色格式,Unidrv 将调用打印机的 IPrintOemUni ImageProcessing COM 方法来处理半色调。 该方法的一个参数是指向表示当前所选半色调方法的字符串名称的指针。

有关半色调的详细信息,请参阅自定义的半色调