Freigeben über


Umgang mit Farbformaten

Wichtig

Die moderne Druckplattform ist die bevorzugte Methode von Windows für die Kommunikation mit Druckern. Wir empfehlen die Verwendung des Microsoft IPP-Treibers für die Posteingangsklasse zusammen mit Print Support Apps (PSA), um das Druckverhalten in Windows 10 und 11 für die Entwicklung von Druckergeräten anzupassen.

Weitere Informationen finden Sie unter Moderne Druckplattform und im Designhandbuch für die Drucksupport-App.

Jedes Farbformat, das ein Drucker unterstützt, wird als Option für das ColorMode-Feature angegeben. Mithilfe von Optionsattributen für das ColorMode-Feature können Sie jedes vom Drucker akzeptierte Farbformat beschreiben. In der folgenden Tabelle sind die Farbdatenformate dargestellt, die Unidrv verarbeiten kann.

Anzahl der Farbebenen Anzahl der Bits pro Pixel
in Device (*DevNumOfPlanes) in Device (*DevBPP)
1 1 (Schwarzweiß)
1 8
1 24
3 1 (CMY und RGB)
4 1 (CMYK)

Für diese Formate kann Unidrv Geräteunabhängige Bitmapdaten (DIB) in das richtige Format konvertieren und an den Drucker senden. (Halbtonierungsvorgänge, die für diese Daten ausgeführt werden können, werden in Halftoning mit Unidrv.)

Wenn Ihr Drucker Farbformate unterstützt, die nicht in der vorherigen Tabelle aufgeführt sind, müssen Sie die folgenden Schritte ausführen:

  • Legen Sie die Attribute *DevNumOfPlanes und *DevBPP auf Null fest. Dadurch wird verhindert, dass Unidrv DIB-Daten an den Drucker sendet.

  • Stellen Sie ein Rendering-Plug-In bereit, das die IPrintOemUni ImageProcessing-Methode implementiert.

Die IPrintOemUni ImageProcessing-Methode muss die folgenden Vorgänge ausführen:

  • Konvertieren Sie DIB-Daten in das Farbformat des Druckers.

  • Ausführen von Halftoning-Vorgängen für die Daten

  • Senden Sie die Daten an den Druckspooler.

Weitere Informationen zum Bereitstellen einer IPrintOemUni ImageProcessing-Funktion finden Sie unter Angepasste Farbformate.

Rendern von Bildern mit hoher Qualität

Für jedes Farbformat geben Sie sowohl die Bits pro Pixel an, die die Druckerhardware akzeptiert, als auch die Bits pro Pixel, die Unidrv beim Erstellen von DIBs verwenden soll. Diese Werte werden mit den Attributen *DevBPP und *DrvBPP angegeben. Manchmal ist es wünschenswert, dass Bilder als Bitmaps mit einer höheren Anzahl von Bits pro Pixel gerendert werden, als der Drucker verarbeiten kann (z. B. um zu versuchen, qualitativ hochwertige Fotos zu reproduzieren). Daher ist es zulässig, einen *DrvBPP-Wert anzugeben, der größer als das Ergebnis der Multiplikation des *DevBPP-Werts mit dem *DevNumOfPlanes-Wert ist.

Angenommen, Sie möchten eine ColorMode-Option definieren, die bewirkt, dass Bilder als 24 Bit/Pixel-Bitmaps gerendert werden, aber dann soll die Bitmap als CMYK-Daten an den Drucker gesendet werden. Sie können diesen Modus wie folgt definieren:

*Feature: ColorMode
{
    *Option: 24toCMYK
    {
        *Name: "Photographic Quality"
        *DrvBPP: 24
        *DevNumOfPlanes: 4
        *DevBPP: 1
        *ColorPlaneOrder: LIST(CYAN, MAGENTA, YELLOW, BLACK)
        *IPCallbackID: 1
    }
 other options
}

In diesem Beispiel stellen die Attribute *DevBPP und *DevNumOfPlanes das CMYK-Format mit vier Ebenen dar, das Unidrv rendern und dann an den Drucker senden kann. In diesem Fall müssen jedoch Halbtoningvorgänge für das gerenderte Bild ausgeführt werden, bevor es gedruckt wird. Minidriver-bereitgestellte Halbtonierung muss verwendet werden.