Поделиться через


Мини-driver-Предоставленный полутонинг

Внимание

Современная платформа печати — это предпочтительный способ взаимодействия с принтерами Windows. Рекомендуется использовать драйвер класса "Входящие" Microsoft IPP вместе с приложениями поддержки печати (PSA), чтобы настроить возможности печати в Windows 10 и 11 для разработки устройств принтера.

Дополнительные сведения см. в статье "Современная платформа печати" и руководство по проектированию приложений поддержки печати.

Если указанный цветовый формат равен одному, для которого число битов на пиксель, используемое для отрисовки изображения (*DrvBPP), больше битов на пиксель, поддерживаемых принтером (*DevBPP умножено на *DevNumOfPlanes), то необходимо предоставить настраиваемые возможности полутонирования.

Чтобы обеспечить настраиваемые возможности полутонирования, необходимо выполнить следующие действия.

  • Укажите подключаемый модуль отрисовки, реализующий метод IPrintOemUni ImageProcessing.

  • Включите запись Полутоне*Функции в файл GPD и для каждого настраиваемого метода полутонирования включите запись *Option, описывающую метод полутонирования. (Не используйте какие-либо атрибуты параметра для функции полутонов.)

  • Включите запись ColorMode *Feature в файл GPD. Для каждого указанного параметра форматирования цветов необходимо включить атрибут *IPCallbackID, если требуется, чтобы метод IPrintOemUni ImageProcessing обрабатывал полутон для этого формата цвета.

В следующем примере определяются два формата цветов и четыре метода полутонирования. В примере используются ограничения параметров, чтобы указать, какие методы полутонинга 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 вызывает метод COM принтера IPrintOemUni ImageProcessing для обработки полутонирования. Одним из параметров метода является указатель на строковое имя, представляющее выбранный в данный момент метод полутонирования.

Дополнительные сведения о полутоне см. в разделе "Настраиваемый полутон".