Freigeben über


Farbverwaltungseffekt

Verwenden Sie den Farbverwaltungseffekt, um ein Bild von einem ICC -Farbprofil (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 Indexenumeration 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
So interpretieren Sie 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
Die Qualitätsebene der Transformation. Der Typ ist D2D1_COLORMANAGEMENT_QUALITY.
Der Standardwert ist D2D1_COLORMANAGEMENT_QUALITY_NORMAL.

Rendern von Absichtsmodi

Aufzählung Beschreibung
D2D1_COLORMANAGEMENT_RENDERING_INTENT_PERCEPTUAL Der Effekt komprimiert oder erweitert die volle Farbskala des Bilds, um die Farbskala des Geräts zu füllen, um eine wahrnehmbar ansprechende Ausgabe zu erzeugen, die Farbdetails bewahrt, aber möglicherweise die farbmetrische Genauigkeit beeinträchtigt. Es ist nützlich für die allgemeine Reproduktion von realen Lebensinhalten wie Fotos.
D2D1_COLORMANAGEMENT_RENDERING_INTENT_RELATIVE_COLORIMETRIC Der Effekt passt alle Farben an, die außerhalb des Farbraums liegen, den das Ausgabegerät in der nächstgelegenen Farbe rendern kann, die gerendert werden kann. Er behält den weißen Punkt nicht bei.
D2D1_COLORMANAGEMENT_RENDERING_INTENT_SATURATION Der Effekt behält die Sättigung von reinen Farben im Bild auf kosten von Farbton und Helligkeit 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 in der nächstgelegenen Farbe rendern kann, die gerendert werden kann. Der Effekt ändert die Farbskala nicht und behält den weißen Punkt bei.

Alphamodi für Eingabebilder

Aufzählung Beschreibung
D2D1_COLORMANAGEMENT_ALPHA_MODE_PREMULTIPLIED Der Effekt geht davon aus, dass der Alphamodus prämultipliziert ist.
D2D1_COLORMANAGEMENT_ALPHA_MODE_STRAIGHT Der Effekt geht davon aus, dass der Alphamodus gerade ist.

D2D1_GAMMA1_G2084 Verhaltensänderungen

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

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

In der Praxis verwendet Inhalt, der in diesem Gammabereich codiert ist, einen Verweis WhiteLevel von 10.000 Nits, die normalerweise in CCCS als 10.000 / 80 = 125,0 dargestellt werden. Um Ihre App besser zu vereinfachen, ist es für diese Gammakonvertierung am einfachsten, auch die Leuchtdichte um den Faktor 125 zu skalieren. Ab Windows 10, Version 1809 (10.0; Build 17763), das Verhalten des Farbverwaltungseffekts ist so, dass er diese Skalierung anwendet. Das bedeutet, dass Sie als Entwickler keinen zweiten Anpassungseffekt auf weißer Ebene auf die Pipeline anwenden müssen.

Einhaltung der ICC-Spezifikation

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

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

Alphakanalverhalten

Im Allgemeinen legt der Effekt Alpha auf 1 (undurchsichtig) fest, wenn keine Alphadaten im Quellbild vorhanden sind und die Alphadaten verworfen werden, wenn kein Raum im Zielbild vorhanden ist. In der folgenden 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 werden auf 1 festgelegt (undurchsichtig)
3 Kanal, RGBA-Pixelformat Alphadaten werden auf 1 festgelegt (undurchsichtig)
4 Kanal, RGBA-Pixelformat (Keine Alphadaten)
1 Kanal, RGBA-Pixelformat
1 Kanal, R-Pixelformat Alphadaten werden verworfen
1 Kanal, RGBA-Pixelformat Alphadaten werden durchlaufen
3 Kanal, RGBA-Pixelformat Alphadaten werden durchlaufen
4 Kanal, RGBA-Pixelformat Alphadaten werden verworfen
3 Kanal, RGBA-Pixelformat
1 Kanal, R-Pixelformat Alphadaten werden verworfen
1 Kanal, RGBA-Pixelformat Alphadaten werden durchlaufen
3 Kanal, RGBA-Pixelformat Alphadaten werden durchlaufen
4 Kanal, RGBA-Pixelformat Alphadaten werden verworfen
4 Kanal, RGBA-Pixelformat
1 Kanal, R-Pixelformat (Keine Alphadaten)
1 Kanal, RGBA-Pixelformat Alphadaten werden auf 1 festgelegt (undurchsichtig)
3 Kanal, RGBA-Pixelformat Alphadaten werden auf 1 festgelegt (undurchsichtig)
4 Kanal, RGBA-Pixelformat (Keine Alphadaten)

Qualitätsmodi

Modus Beschreibung
D2D1_COLORMANAGEMENT_QUALITY_PROOF Der niedrigste Qualitätsmodus. 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 beste Qualitätsmodus. Dieser Modus erfordert Featureebene 10_0 oder höher sowie Gleitkommagenauigkeitspuffer. Dieser Modus unterstützt Gleitkommagenauigkeit sowie erweiterten Bereich, wie in der ICC v4.3-Spezifikation definiert.

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

Beispielcode

Ein Beispiel für diesen Effekt: Laden Sie das Direct2D-Effekt-Fotoanpassungsbeispielherunter, und lesen Sie Lektion 4 des Beispiels.

Anforderungen

Anforderung Wert
Mindestens unterstützter Client Windows 8 und Plattformupdate für Windows 7 [Desktop-Apps | Windows Store-Apps]
Mindestens unterstützter Server Windows 8 und Plattformupdate für Windows 7 [Desktop-Apps | Windows Store-Apps]
Kopfball d2d1effects.h
Bibliothek d2d1.lib, dxguid.lib