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 |
---|
![]() |
Nach |
![]() |
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.
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 |