Udostępnij za pośrednictwem


Efekt obramowania

Użyj efektu obramowania, aby rozszerzyć obraz z krawędzi. Możesz użyć tego efektu, aby powtórzyć piksele z krawędzi obrazu, opakowować piksele z przeciwnego końca obrazu lub dublować piksele na obramowanie mapy bitowej, aby rozszerzyć region mapy bitowej.

Identyfikator CLSID dla tego efektu jest CLSID_D2D1Border.

Przykładowe obrazy

W poniższych przykładach pokazano dane wyjściowe efektu obramowania przy użyciu każdego trybu. Rozmiar danych wyjściowych jest nieskończony, ale te przykładowe obrazy są przycinane do dwukrotnego rozmiaru.

Lustro

Przed
Zrzut ekranu przedstawiający obraz przed efektem.
Po
Zrzut ekranu przedstawiający obraz po przekształceniu.

Zacisk

Przed
Zrzut ekranu przedstawiający obraz przed efektem zacisku.
Po
Zrzut ekranu przedstawiający obraz po przekształceniu zacisku.

Owijać

Przed
Zrzut ekranu przedstawiający obraz przed efektem zawijania.
Po
Zrzut ekranu przedstawiający obraz po przekształceniu zawijania.
ComPtr<ID2D1Effect> borderEffect;
m_d2dContext->CreateEffect(CLSID_D2D1Border, &borderEffect);

borderEffect->SetInput(0, bitmap);
borderEffect->SetValue(D2D1_BORDER_PROP_EDGE_MODE_X, D2D1_BORDER_EDGE_MODE_MIRROR);
borderEffect->SetValue(D2D1_BORDER_PROP_EDGE_MODE_Y, D2D1_BORDER_EDGE_MODE_MIRROR);

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

Właściwości efektu

Nazwa wyświetlana i wyliczenie indeksu Opis
Tryb krawędzi X
D2D1_BORDER_PROP_EDGE_MODE_X
Tryb krawędzi w kierunku X dla efektu. Można to ustawić na zacisk, zawijanie lub lustro. Aby uzyskać więcej informacji, zobacz tryby Edge.
Typ to D2D1_BORDER_EDGE_MODE.
Wartość domyślna to D2D1_BORDER_EDGE_MODE_CLAMP.
Tryb krawędzi Y
D2D1_BORDER_PROP_EDGE_MODE_Y
Tryb krawędzi w kierunku Y dla efektu. Można to ustawić na zacisk, zawijanie lub lustro. Aby uzyskać więcej informacji, zobacz tryby Edge.
Typ to D2D1_BORDER_EDGE_MODE.
Wartość domyślna to D2D1_BORDER_EDGE_MODE_CLAMP.

Tryby krawędzi

Nazwa wyświetlana i wyliczenie indeksu Opis
Zacisk
D2D1_BORDER_EDGE_MODE_CLAMP
Powtarza piksele z krawędzi obrazu.
Owijać
D2D1_BORDER_EDGE_MODE_WRAP
Używa pikseli z przeciwległej krawędzi końca obrazu.
Lustro
D2D1_BORDER_EDGE_MODE_MIRROR
Odzwierciedla piksele na krawędzi obrazu.

Mapa bitowa wyjściowa

Rozmiar mapy bitowej danych wyjściowych jest nieskończony dla wszystkich danych wejściowych, z wyjątkiem obrazu wejściowego o rozmiarze 0. Jeśli wysokość lub szerokość obrazu wejściowego wynosi 0, rozmiar danych wyjściowych wynosi 0.

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

ID2D1Effect