自定义的半色调

重要

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

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

可以通过 Unidrv 使用 GDI、打印机设备或自定义驱动程序代码执行半色调操作。 本部分介绍如何在自定义驱动程序代码中执行半色调操作。

有两种自定义方式可供选择:

  • 自定义的半色调图案

  • 自定义的半色调方法

>自定义的半色调图案

可以在资源 DLL 中指定半色调图案,也可以通过实现 IPrintOemUni::HalftonePattern 方法的呈现插件来生成半色调图案。 此方法的参考页面提供了一个如何生成半色调图案的示例。

如果以下任一条件为 true,则应实现 IPrintOemUni::HalftonePattern

  • 自定义图案在资源 DLL 中提供,并会对图案进行加密。

  • 资源 DLL 中不提供自定义图案。 相反,它们是由 IPrintOemUni::HalftonePattern 生成的。

IPrintOemUni::HalftonePattern 方法的目的是向 Unidrv 返回可用的半色调图案,然后由 Unidrv 将其传递给 GDI。 该方法可以解码以加密形式存储在资源 DLL 中的图案,也可以在执行过程中生成图案。

如果实现 IPrintOemUni::HalftonePattern 方法,则 GPD 文件必须在每个半色调 *Option 条目中包含一个 *HTCallbackID 属性,该属性指定了使用自定义图案的半色调方法。

有关此属性的详细信息,请参阅半色调功能的选项属性

自定义的半色调方法

对于使用 Unidrv 的打印机,提供实现自定义半色调方法的代码的步骤如下:

  1. 提供一个实现 IPrintOemUni ImageProcessing 方法的呈现插件。

  2. 在打印机 GPD 文件中包含一个半色调 *Feature 条目,每个包含的 *Option 条目都代表一种半色调方法。 (标准和自定义的半色调方法都可以包括在内。)

IPrintOemUni ImageProcessing 方法会接收 GDI 位图作为输入。 该方法必须根据当前选择的半色调方法来执行半色调操作,并将生成的位图返回 Unidrv。

如果呈现插件实现了 IPrintOemUni ImageProcessing,则它也可以实现 IPrintOemUni::MemoryUsage

有关半色调的详细信息,请参阅使用 Unidrv 进行半色调