Udostępnij za pośrednictwem


Efekt przycinania

Użyj efektu przycinania, aby wyświetlić określony region obrazu.

Identyfikator CLSID dla tego efektu jest CLSID_D2D1Crop.

Przykładowy obraz

Przed
obraz przed efektem.
Po
obraz po przekształceniu.
ComPtr<ID2D1Effect> cropEffect;
m_d2dContext->CreateEffect(CLSID_D2D1Crop, &cropEffect);

cropEffect->SetInput(0, bitmap);
cropEffect->SetValue(D2D1_CROP_PROP_RECT, D2D1::RectF(0.0f, 0.0f, 256.0f, 192.0f));

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

Właściwości efektu

Nazwa wyświetlana i wyliczenie indeksu Typ i wartość domyślna Opis
Rect
D2D1_VECTOR_4F
Region, który ma zostać przycięty określony jako wektor w postaci (lewy, górny, szerokość, wysokość).
D2D1_CROP_PROP_RECT
{-FLT_MAX, -FLT_MAX, FLT_MAX, FLT_MAX}
Jednostki znajdują się w adresach IP.
Uwaga:
Rect zostanie obcięty, jeśli nakłada się na granice krawędzi obrazu wejściowego.
D2D1_CROP_PROP_BORDER_MODE
D2D1_BORDER_MODE
D2D1_BORDER_MODE_SOFT
  • D2D1_BORDER_MODE_SOFT: Jeśli prostokąt przycinania spada na współrzędne ułamkowe pikseli, efekt stosuje antyaliasing, co powoduje miękką krawędź.
  • D2D1_BORDER_MODE_HARD: Jeśli prostokąt przycinania spadnie na współrzędne ułamkowe piksela, efekt zaciska, co powoduje twardą krawędź.

Mapa bitowa wyjściowa

Wynikiem tego efektu jest rozmiar właściwości Rect. Długość i szerokość są obliczane

ulated przy użyciu równań tutaj:

Długość danych wyjściowych w pikselach =(Rect.Right-Rect.Left)*(DPI/96 użytkownika)
Wysokość danych wyjściowych w pikselach=(Rect.Bottom-Rect.Top)*(DPI/96 użytkownika)

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