Freigeben über


Behandeln von Farbformaten

Wichtig

Es wird empfohlen, den IPP-Klassentreiber von Microsoft zusammen mit Print Support Apps (PSA) zu verwenden, um die Druckoberfläche in Windows 10 und 11 für die Entwicklung von Druckergeräten anzupassen.

Weitere Informationen finden Sie im Leitfaden zum Erstellen von Druckunterstützungs-Apps.

Jedes Farbformat, das von einem Drucker unterstützt wird, wird als Option für das ColorMode-Feature angegeben. Mithilfe von Optionsattributen für das ColorMode-Feature können Sie jedes Farbformat beschreiben, das Ihr Drucker akzeptiert. Die folgende Tabelle veranschaulicht die Farbdatenformate, die Unidrv verarbeiten kann.

Anzahl der Farbebenen Anzahl der Bits pro Pixel
in Device (*DevNumOfPlanes) in Gerät (*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 (Device-Independent Bitmap, DIB) in das richtige Format konvertieren und an den Drucker senden. (Halbtonierungsvorgänge, die für diese Daten ausgeführt werden können, werden unter Halftoning mit Unidrv beschrieben.)

Wenn Ihr Drucker Farbformate unterstützt, die in der obigen Tabelle nicht aufgeführt sind, müssen Sie wie folgt vorgehen:

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

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

  • Führen Sie Halbtonierungsvorgänge für die Daten aus.

  • Senden Sie die Daten an den Druckspooler.

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

Rendern von Bildern in hoher Qualität

Für jedes Farbformat geben Sie sowohl die Von der Druckerhardware akzeptierten Bits pro Pixel als auch die Bits pro Pixel an, die Unidrv beim Erstellen von DIBs verwenden soll. Diese Werte werden mit den Attributen *DevBPP bzw. *DrvBPP angegeben. Manchmal ist es wünschenswert, Dass Bilder als Bitmaps gerendert werden, die eine höhere Anzahl von Bits pro Pixel aufweisen, als der Drucker verarbeiten kann (um z. B. 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 dazu führt, dass Bilder als 24-Bits/Pixel-Bitmaps gerendert werden. Anschließend soll die Bitmap jedoch 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 Halbtonierungsvorgänge für das gerenderte Bild ausgeführt werden, bevor es gedruckt wird. Die von Minidriver bereitgestellte Halbtonung muss verwendet werden.