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
- Rendern von Absichtsmodi
- Alphamodi für Eingabebilder
- Einhaltung der ICC-Spezifikation
- Alphakanalverhalten
- Qualitätsmodi
- Beispielcode
- Anforderungen
- Zugehörige Themen
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 |