Freigeben über


Effekt der Tabellenübertragung

Verwenden Sie den Tabellenübertragungseffekt, um die Farbtentitäten eines Bilds mithilfe einer Übertragungsfunktion zuzuordnen, die aus der Interpolierung einer Liste der von Ihnen bereitgestellten Werte erstellt wurde.

Die CLSID für diesen Effekt ist CLSID_D2D1TableTransfer.

Beispielbild

Die abbildung zeigt die Eingabe und Ausgabe des Tabellenübertragungseffekts.

Vorher
das Bild vor dem Effekt.
Nach
das Bild nach der Transformation.
ComPtr<ID2D1Effect> tableTransferEffect;
m_d2dContext->CreateEffect(CLSID_D2D1TableTransfer, &tableTransferEffect);

tableTransferEffect->SetInput(0, bitmap);

float table[2] = {0.75f, 1.0f};
tableTransferEffect->SetValue(D2D1_TABLETRANSFER_PROP_BLUE_TABLE, table);

m_d2dContext->BeginDraw();
m_d2dContext->DrawImage(tableTransferEffect.Get());
m_d2dContext->EndDraw();

Die Übertragungsfunktion basiert auf einer Liste von Eingaben V=(V0;V1;V2;V3, V? ,VN), wobei N die Anzahl der Elemente 1 ist.

Die Intensität des Eingabepixels wird als C dargestellt. Die Intensität des Ausgabepixels C kann mit der Gleichung berechnet werden.

Wählen Sie für einen Wert C einen Wert k aus, sodass: k/N = C < (k+1)/N

Die Ausgabe C wird mit der folgenden Gleichung berechnet: C' = V? + (C - k/N) * N * (V??? 1? - V?)

Dieser Effekt funktioniert bei geraden und vormultiplizierten Alphabildern. Der Effekt gibt vorab multiplizierte Alphabitbitbits aus.

Das Diagramm der Tabellenübertragungsfunktion sieht wie folgt aus, wenn die Tabelleneigenschaft auf [0.0, 0.25, 1.0]festgelegt ist.

Pixelintensitätsdiagramm für die Tabellenübertragungsfunktion.

Effekteigenschaften

Hinweis

Die Werte aller Kanäle der Tabellenübertragungseigenschaften sind einheitslos und weisen mindestens 0,0 und maximal 1,0 auf.

Anzeigename und Indexenumeration Typ und Standardwert BESCHREIBUNG
RedTable
D2D1_TABLETRANSFER_PROP_RED_TABLE
FLOAT[]
{0.0f, 1.0f}
Die Liste der Werte, die zum Definieren der Übertragungsfunktion für den roten Kanal verwendet werden.
RedDisable
D2D1_TABLETRANSFER_PROP_RED_DISABLE
BOOL
FALSE
Wenn Sie dies auf TRUE festlegen, wendet der Effekt die Übertragungsfunktion nicht auf den roten Kanal an. Wenn Sie dies auf FALSE festlegen, wird die RedTableTransfer-Funktion auf den roten Kanal angewendet.
GreenTable
D2D1_TABLETRANSFER_PROP_GREEN_TABLE
FLOAT[]
{0.0f, 1.0f}
Die Liste der Werte, die zum Definieren der Übertragungsfunktion für den grünen Kanal verwendet werden.
GreenDisable
D2D1_TABLETRANSFER_PROP_GREEN_DISABLE
BOOL
FALSE
Wenn Sie dies auf TRUE festlegen, wendet der Effekt die Übertragungsfunktion nicht auf den grünen Kanal an. Wenn Sie dies auf FALSE festlegen, wird die GreenTableTransfer-Funktion auf den grünen Kanal angewendet.
BlueTable
D2D1_TABLETRANSFER_PROP_BLUE_TABLE
FLOAT[]
{0.0f, 1.0f}
Die Liste der Werte, die zum Definieren der Übertragungsfunktion für den blauen Kanal verwendet werden.
BlueDisable
D2D1_TABLETRANSFER_PROP_BLUE_DISABLE
BOOL
FALSE
Wenn Sie dies auf TRUE festlegen, wendet der Effekt die Übertragungsfunktion nicht auf den blauen Kanal an. Wenn Sie dies auf FALSE festlegen, wird die BlueTableTransfer-Funktion auf den Blauen Kanal angewendet.
AlphaTable
D2D1_TABLE_TRANSFER_PROP_ALPHA_TABLE
FLOAT[]
{0.0f, 1.0f}
Die Liste der Werte, die zum Definieren der Übertragungsfunktion für den Alphakanal verwendet werden.
AlphaDisable
D2D1_TABLETRANSFER_PROP_ALPHA_DISABLE
BOOL
FALSE
Wenn Sie dies auf TRUE festlegen, wendet der Effekt die Übertragungsfunktion nicht auf den Alphakanal an. Wenn Sie dies auf FALSE festlegen, wird die AlphaTableTransfer-Funktion auf den Alphakanal angewendet.
ClampOutput
D2D1_TABLETRANSFER_PROP_CLAMP_OUTPUT
BOOL
FALSE
Gibt an, ob der Effekt Farbwerte zwischen 0 und 1 klemmt, bevor der Effekt die Werte an den nächsten Effekt im Diagramm übergibt. Der Effekt klammert die Werte ein, bevor er das Alpha vormultipliziert.
Wenn Sie dies auf TRUE festlegen, klammert der Effekt die Werte ein. Wenn Sie dies auf FALSE festlegen, klemmt der Effekt nicht die Farbwerte, sondern andere Effekte, und die Ausgabeoberfläche kann die Werte klammern, wenn sie nicht hoch genug präzise sind.

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

ID2D1Effect