Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Użyj efektu transferu tabeli, aby zmapować wzrost kolorów obrazu przy użyciu funkcji transferu utworzonej na podstawie interpolacji listy podanych wartości.
Identyfikator CLSID dla tego efektu jest CLSID_D2D1TableTransfer.
- przykładowy obraz
- właściwości Efekt
- wymagania dotyczące
- Tematy pokrewne
Przykładowy obraz
Na poniższej ilustracji przedstawiono dane wejściowe i wyjściowe efektu transferu tabeli.
| Przed |
|---|
|
| Po |
|
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();
Funkcja transferu jest oparta na liście danych wejściowych V=(V0,V1,V2,V3, V? VN), gdzie N jest liczbą elementów — 1.
Intensywność pikseli wejściowych jest reprezentowana jako C. Intensywność pikseli wyjściowych, C można obliczyć przy użyciu równania.
Dla wartości C wybierz wartość k, tak aby: k/N = C < (k+1)/N
Dane wyjściowe C są obliczane przy użyciu następującego równania: C' = V? + (C - k/N) * N * (V??? 1? - V?)
Ten efekt działa na prostych i premultiplied obrazów alfa. Efekt generuje premultiplied mapy bitowe alfa.
Oto jak wygląda wykres funkcji transferu tabel, jeśli właściwość tabeli jest ustawiona na [0.0, 0.25, 1.0].
Właściwości efektu
Nuta
Wartości wszystkich kanałów właściwości transferu tabeli są bezjednostki i mają co najmniej 0,0 i maksymalnie 1,0.
| Nazwa wyświetlana i wyliczenie indeksu | Typ i wartość domyślna | Opis |
|---|---|---|
| RedTable D2D1_TABLETRANSFER_PROP_RED_TABLE |
FLOAT[] {0.0f, 1.0f} |
Lista wartości używanych do definiowania funkcji transferu dla kanału czerwonego. |
| RedDisable D2D1_TABLETRANSFER_PROP_RED_DISABLE |
BOOL FAŁSZYWY |
Jeśli ustawisz wartość TRUE, efekt nie zastosuje funkcji transferu do kanału Red. Jeśli ustawisz wartość FALSE, zastosuje funkcję RedTableTransfer do kanału Czerwony. |
| GreenTable D2D1_TABLETRANSFER_PROP_GREEN_TABLE |
FLOAT[] {0.0f, 1.0f} |
Lista wartości używanych do definiowania funkcji transferu dla kanału Green. |
| GreenDisable D2D1_TABLETRANSFER_PROP_GREEN_DISABLE |
BOOL FAŁSZYWY |
Jeśli ustawisz wartość TRUE, efekt nie zastosuje funkcji transferu do kanału Green. Jeśli ustawisz wartość FALSE, zastosuje funkcję GreenTableTransfer do kanału Green. |
| BlueTable D2D1_TABLETRANSFER_PROP_BLUE_TABLE |
FLOAT[] {0.0f, 1.0f} |
Lista wartości używanych do definiowania funkcji transferu dla kanału Niebieskiego. |
| BlueDisable D2D1_TABLETRANSFER_PROP_BLUE_DISABLE |
BOOL FAŁSZYWY |
Jeśli ustawisz wartość TRUE, efekt nie zastosuje funkcji transferu do kanału Niebieski. Jeśli ustawisz wartość FALSE, zastosuje funkcję BlueTableTransfer do kanału Blue. |
| AlfaTable D2D1_TABLE_TRANSFER_PROP_ALPHA_TABLE |
FLOAT[] {0.0f, 1.0f} |
Lista wartości używanych do definiowania funkcji transferu dla kanału Alpha. |
| AlphaDisable D2D1_TABLETRANSFER_PROP_ALPHA_DISABLE |
BOOL FAŁSZYWY |
Jeśli ustawisz wartość TRUE, efekt nie zastosuje funkcji transferu do kanału Alpha. Jeśli ustawisz wartość FALSE, zastosuje funkcję AlphaTableTransfer do kanału Alpha. |
| ClampOutput D2D1_TABLETRANSFER_PROP_CLAMP_OUTPUT |
BOOL FAŁSZYWY |
Czy efekt zaciska wartości kolorów z zakresu od 0 do 1 przed przekazaniem wartości do następnego efektu na wykresie. Efekt zaciska wartości przed premultiplies alfa . Jeśli ustawisz wartość TRUE, efekt będzie zaciskać wartości. Jeśli ustawisz wartość FALSE, efekt nie zacisnie wartości kolorów, ale inne efekty, a powierzchnia wyjściowa może zacisać wartości, jeśli nie są wystarczająco precyzyjne. |
Wymagania
| Wymaganie | Wartość |
|---|---|
| Minimalny obsługiwany klient | Windows 8 i aktualizacja platformy dla systemu Windows 7 [aplikacje klasyczne | Aplikacje ze Sklepu Windows] |
| Minimalny obsługiwany serwer | Windows 8 i aktualizacja platformy dla systemu Windows 7 [aplikacje klasyczne | Aplikacje ze Sklepu Windows] |
| Nagłówek | d2d1effects.h |
| Biblioteka | d2d1.lib, dxguid.lib |