Freigeben über


Tabellenübertragungseffekt

Verwenden Sie den Tabellenübertragungseffekt, um die Farbintensitä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 hier zeigt die Eingabe und Ausgabe des Tabellenübertragungseffekts.

Vor
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 der 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 Formel berechnet werden.

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

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

Dieser Effekt funktioniert auf geraden und prämultiplizierten Alphabildern. Der Effekt gibt prämultiplizierte Alphabitmaps aus.

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

Pixelintensitätsdiagramm für die Tabellenübertragungsfunktion.

Effekteigenschaften

Anmerkung

Die Werte aller Kanäle der Tabellenübertragungseigenschaften sind einheitenlos und haben mindestens 0,0 und maximal 1,0.

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
FALSCH
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
FALSCH
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
FALSCH
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
FALSCH
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 Alpha-Kanal angewendet.
ClampOutput
D2D1_TABLETRANSFER_PROP_CLAMP_OUTPUT
BOOL
FALSCH
Gibt an, ob der Effekt Farbwerte zwischen 0 und 1 einklammert, bevor der Effekt die Werte an den nächsten Effekt im Diagramm übergibt. Der Effekt klemmt die Werte vor der Multiplikation des Alphas.
Wenn Sie dies auf TRUE festlegen, klammert der Effekt die Werte. Wenn Sie dies auf FALSE festlegen, klammert der Effekt nicht die Farbwerte, aber andere Effekte und die Ausgabeoberfläche können die Werte klammern, wenn sie nicht von hoher Genauigkeit sind.

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

ID2D1Effect-