Farbverwaltungseffekt

Verwenden Sie den Farbverwaltungseffekt, um ein Bild von einem ICC -Farbkonsortium (International Color Consortium) in ein anderes zu transformieren. Der Effekt transformiert das Bild gemäß der ICC-Spezifikation.

Die CLSID für diesen Effekt ist CLSID_D2D1ColorManagement.

Effekteigenschaften

Anzeigename und Indexaufzählung BESCHREIBUNG
SourceContext
D2D1_COLORMANAGEMENT_PROP_SOURCE_COLOR_CONTEXT
Die Informationen zum Quellfarbraum. Der Typ ist ID2D1ColorContext.
Der Standardwert ist NULL.
SourceIntent
D2D1_COLORMANAGEMENT_PROP_SOURCE_RENDERING_INTENT
Welche ICC-Renderingabsicht verwendet werden soll. Der Typ ist D2D1_COLORMANAGEMENT_RENDERING_INTENT.
Der Standardwert ist D2D1_COLORMANAGEMENT_RENDERING_INTENT_PERCEPTUAL.
DestinationContext
D2D1_COLORMANAGEMENT_PROP_DESTINATION_COLOR_CONTEXT
Die Zielfarbrauminformationen. Der Typ ist ID2D1ColorContext.
Der Standardwert ist NULL.
DestinationIntent
D2D1_COLORMANAGEMENT_PROP_DESTINATION_RENDERING_INTENT
Welche ICC-Renderingabsicht verwendet werden soll. Der Typ ist D2D1_COLORMANAGEMENT_RENDERING_INTENT.
Der Standardwert ist D2D1_COLORMANAGEMENT_RENDERING_INTENT_PERCEPTUAL.
AlphaMode
D2D1_COLORMANAGEMENT_PROP_ALPHA_MODE
Interpretieren von Alphadaten, die im Eingabebild enthalten sind Der Typ ist D2D1_COLORMANAGEMENT_ALPHA_MODE.
Der Standardwert ist D2D1_COLORMANAGEMENT_ALPHA_MODE_PREMULTIPLIED.
Qualität
D2D1_COLORMANAGEMENT_PROP_QUALITY
Das Qualitätsniveau der Transformation. Der Typ ist D2D1_COLORMANAGEMENT_QUALITY.
Der Standardwert ist D2D1_COLORMANAGEMENT_QUALITY_NORMAL.

Rendern von Absichtsmodi

Enumeration Beschreibung
D2D1_COLORMANAGEMENT_RENDERING_INTENT_PERCEPTUAL Der Effekt komprimiert oder erweitert den gesamten Farbraum des Bilds, um den Farbraum des Geräts auszufüllen, um eine wahrnehmungserfüllte Ausgabe zu erzeugen, die Farbdetails behält, aber möglicherweise farbmetrische Genauigkeit opfert. Es ist nützlich für die allgemeine Wiedergabe von realen Inhalten wie Fotos.
D2D1_COLORMANAGEMENT_RENDERING_INTENT_RELATIVE_COLORIMETRIC Der Effekt passt alle Farben an, die außerhalb des Farbraums liegen, den das Ausgabegerät auf die nächstgelegene Farbe rendern kann, die gerendert werden kann. Der Weißpunkt wird nicht beibehalten.
D2D1_COLORMANAGEMENT_RENDERING_INTENT_SATURATION Der Effekt behält die Sättigung der reinen Farben im Bild auf mögliche Kosten von Farbton und Leichtigkeit bei. Es ist nützlich für Grafiken wie Diagramme und Diagramme.
D2D1_COLORMANAGEMENT_RENDERING_INTENT_ABSOLUTE_COLORIMETRIC Der Effekt passt alle Farben an, die außerhalb des Farbraums liegen, den das Ausgabegerät auf die nächstgelegene Farbe rendern kann, die gerendert werden kann. Der Effekt ändert die Farbskala nicht und behält den Weißpunkt bei.

Alphamodi für Eingabebilder

Enumeration Beschreibung
D2D1_COLORMANAGEMENT_ALPHA_MODE_PREMULTIPLIED Der Effekt setzt voraus, dass der Alphamodus vormultipliziert ist.
D2D1_COLORMANAGEMENT_ALPHA_MODE_STRAIGHT Der Effekt setzt voraus, dass der Alphamodus gerade ist.

D2D1_GAMMA1_G2084 Verhaltensänderungen

Wenn Ihre Anwendung den D2D1_GAMMA1_G2084 Speicherplatz oder einen der DXGI_COLOR_SPACE_TYPE Enumerationswerte verwendet, die den SMPTE ST.2084-Farbraum (Perceptual Quantizer) verwenden, möchte die Anwendung mit HDR-Daten arbeiten.

Die APIs ID2D1DeviceContext5::CreateColorContextFromSimpleColorProfile und ID2D1DeviceContext5::CreateColorContextFromDxgiColorSpace-APIs berücksichtigen dies nicht; Vielmehr wird der HDR-Inhalt so skaliert, dass er während des G2084 DeGamma-Vorgangs in den Bereich 0-1 passt.

In der Praxis verwendet der in diesem Gammaraum codierte Inhalt einen Referenz-WhiteLevel von 10.000 Nits, der normalerweise in CCCS als 10.000 / 80 = 125,0 dargestellt wird. Um Ihre App besser zu vereinfachen, ist es für diese Gammakonvertierung am einfachsten, auch die Helligkeit um den Faktor 125 zu skalieren. Stand Windows 10, Version 1809 (10,0; Build 17763), ist das Verhalten des Farbverwaltungseffekts so, dass diese Skalierung angewendet wird. Das bedeutet, dass Sie als Entwickler keinen zweiten Anpassungseffekt auf Weißebene auf die Pipeline anwenden müssen.

Einhaltung der ICC-Spezifikation

Der Farbverwaltungseffekt entspricht der ICC v4.3-Spezifikation mit den folgenden Einschränkungen:

  • Der Effekt unterstützt Farbräume mit 1, 3 und 4 Kanälen.
  • Der Effekt unterstützt keine ColorSpace- oder Named Color-Profile.

Alphakanalverhalten

Im Allgemeinen legt der Effekt alpha auf 1 (undurchsichtig) fest, wenn sich keine Alphadaten im Quellbild befinden und die Alphadaten verworfen werden, wenn im Zielbild kein Raum vorhanden ist. In der hier aufgeführten Tabelle wird das Alphaverhalten beschrieben.

Quellfarbraum, Pixelformat Zielfarbraum, Pixelformat Alphaverhalten
1 Kanal, R-Pixelformat
1 Kanal, R-Pixelformat (Keine Alphadaten)
1 Kanal, RGBA-Pixelformat Alphadaten sind auf 1 (undurchsichtig) festgelegt.
3 Kanal, RGBA-Pixelformat Alphadaten sind auf 1 (undurchsichtig) festgelegt.
4 Kanal, RGBA-Pixelformat (Keine Alphadaten)
1 Kanal, RGBA-Pixelformat
1 Kanal, R-Pixelformat Alphadaten werden verworfen
1 Kanal, RGBA-Pixelformat Alphadaten werden übergeben
3 Kanal, RGBA-Pixelformat Alphadaten werden übergeben
4 Kanal, RGBA-Pixelformat Alphadaten werden verworfen
3 Kanal, RGBA-Pixelformat
1 Kanal, R-Pixelformat Alphadaten werden verworfen
1 Kanal, RGBA-Pixelformat Alphadaten werden übergeben
3 Kanal, RGBA-Pixelformat Alphadaten werden übergeben
4 Kanal, RGBA-Pixelformat Alphadaten werden verworfen
4 Kanal, RGBA-Pixelformat
1 Kanal, R-Pixelformat (Keine Alphadaten)
1 Kanal, RGBA-Pixelformat Alphadaten sind auf 1 (undurchsichtig) festgelegt.
3 Kanal, RGBA-Pixelformat Alphadaten sind auf 1 (undurchsichtig) festgelegt.
4 Kanal, RGBA-Pixelformat (Keine Alphadaten)

Qualitätsmodi

Mode BESCHREIBUNG
D2D1_COLORMANAGEMENT_QUALITY_PROOF Der Modus mit der niedrigsten Qualität. Für diesen Modus ist die Featureebene 9_1 oder höher erforderlich.
D2D1_COLORMANAGEMENT_QUALITY_NORMAL Normaler Qualitätsmodus. Für diesen Modus ist die Featureebene 9_1 oder höher erforderlich.
D2D1_COLORMANAGEMENT_QUALITY_BEST Der Modus mit bester Qualität. Für diesen Modus sind Featureebene 10_0 oder höher sowie Gleitkommagenauigkeitspuffer erforderlich. Dieser Modus unterstützt Gleitkommagenauigkeit sowie erweiterten Bereich, wie in der ICC v4.3-Spezifikation definiert.

Der Farbverwaltungseffekt schlägt beim Zeichnen fehl, wenn die Anwendung einen Qualitätsmodus anfordert, der von der Hardware nicht unterstützt wird. Sie können die Featureebene bestimmen, wenn Sie D3D11CreateDevice aufrufen. Sie können die Unterstützung von Gleitkommapuffern überprüfen, indem Sie ID2D1EffectContext::IsBufferPrecisionSupported mit dem Wert D2D1_BUFFER_PRECISION_32BPC_FLOAT aufrufen.

Beispielcode

Laden Sie ein Beispiel für diesen Effekt herunter, indem Sie das Fotoanpassungsbeispiel für Direct2D-Effekte herunterladen, und lesen Sie Lektion 4 des Beispiels.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 8 und Plattformupdate für Windows 7 [Desktop-Apps | Windows Store-Apps]
Unterstützte Mindestversion (Server) Windows 8 und Plattformupdate für Windows 7 [Desktop-Apps | Windows Store-Apps]
Header d2d1effects.h
Bibliothek d2d1.lib, dxguid.lib