Auswirkung der Tabellenübertragung

Verwenden Sie den Tabellenübertragungseffekt, um die Farbdichten eines Bilds mithilfe einer Übertragungsfunktion zuzuordnen, die aus der Interpolation einer liste von Ihnen angegebener Werte erstellt wurde.

Die CLSID für diesen Effekt ist CLSID _ D2D1TableTransfer.

Beispielbild

Die Abbildung zeigt die Ein- 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 der Eingaben V=(V0,V1,V2,V3, V? , VN), wobei N die Anzahl der Elemente ist – 1.

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 den Wert k aus, sodass: k/N = C < (k+1)/N

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

Dieser Effekt funktioniert bei geraden und prämultiplizierten Alphabildern. Der Effekt gibt prämultipliierte Alphabitmaps aus.

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

Pixel-Intensitätsdiagramm für die Tabellenübertragungsfunktion.

Effect-Eigenschaften

Hinweis

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

Anzeigename und Indexenumeration Typ und Standardwert BESCHREIBUNG
RedTable
D2D1 _ TABLETRANSFER _ PROP _ RED _ TABLE
SCHWEBEN[]
{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 diese Einstellung auf TRUE festlegen, wendet der Effekt die Übertragungsfunktion nicht auf den roten Kanal an. Wenn Sie diese Einstellung auf FALSE festlegen, wird die RedTableTransfer-Funktion auf den Red-Kanal angewendet.
GreenTable
D2D1 _ TABLETRANSFER _ PROP _ GREEN _ TABLE
SCHWEBEN[]
{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 diese Einstellung auf TRUE festlegen, wendet der Effekt die Übertragungsfunktion nicht auf den grünen Kanal an. Wenn Sie diese Einstellung auf FALSE festlegen, wird die GreenTableTransfer-Funktion auf den grünen Kanal angewendet.
BlueTable
D2D1 _ TABLETRANSFER _ PROP _ BLUE _ TABLE
SCHWEBEN[]
{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 diese Einstellung auf TRUE festlegen, wendet der Effekt die Übertragungsfunktion nicht auf den blauen Kanal an. Wenn Sie diese Einstellung auf FALSE festlegen, wird die BlueTableTransfer-Funktion auf den Blue-Kanal angewendet.
AlphaTable
D2D1 _ TABLE _ TRANSFER _ PROP _ ALPHA _ TABLE
SCHWEBEN[]
{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 diese Einstellung auf TRUE festlegen, wendet der Effekt die Übertragungsfunktion nicht auf den Alphakanal an. Wenn Sie diese Einstellung auf FALSE festlegen, wird die AlphaTableTransfer-Funktion auf den Alphakanal angewendet.
ClampOutput
D2D1 _ TABLETRANSFER _ _ PROP-KLAMMERAUSGABE _
BOOL
FALSE
Gibt an, ob der Effekt Farbwerte zwischen 0 und 1 zusammenbindet, bevor der Effekt die Werte an den nächsten Effekt im Diagramm übergibt. Der Effekt klammert die Werte, bevor er das Alpha vormultipliziert.
Wenn Sie diese Einstellung auf TRUE festlegen, werden die Werte durch den Effekt klammern. Wenn Sie diese Einstellung auf FALSE festlegen, bindet der Effekt die Farbwerte nicht, aber andere Effekte und die Ausgabeoberfläche können die Werte klammern, wenn sie nicht hoch genug präzise sind.

Requirements (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