Sdílet prostřednictvím


Efekt oříznutí

Pomocí efektu oříznutí vypíšete zadanou oblast obrázku.

CLSID pro tento efekt je CLSID_D2D1Crop.

Příklad obrázku

Před
obrázek před efektem.
Po
obrázek po transformaci.
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();

Vlastnosti efektu

Zobrazovaný název a výčet indexu Typ a výchozí hodnota Popis
Rect
D2D1_VECTOR_4F
Oblast, která se má oříznout jako vektor ve formuláři (vlevo, nahoře, šířka, výška).
D2D1_CROP_PROP_RECT
{-FLT_MAX, -FLT_MAX, FLT_MAX, FLT_MAX}
Jednotky jsou v jednotkách DIP.
Poznámka:
Rect bude zkrácen, pokud se překrývají okraje vstupního obrázku.
D2D1_CROP_PROP_BORDER_MODE
D2D1_BORDER_MODE
D2D1_BORDER_MODE_SOFT
  • D2D1_BORDER_MODE_SOFT: Pokud obdélník oříznutí spadá do souřadnic zlomků pixelů, použije efekt antialiasing, který vede k měkkému okraji.
  • D2D1_BORDER_MODE_HARD: Pokud obdélník oříznutí spadá do souřadnic zlomků pixelů, efekt upne, což vede k pevnému okraji.

Výstupní rastrový obrázek

Výstup tohoto efektu je velikost Rect vlastnost. Délka a šířka se přepočítávají.

vyplněné pomocí rovnic zde:

Délka výstupu v pixelech=(Rect.Right-Rect.Left)*(DPI/96 uživatele)
Výška výstupu v pixelech=(Rect.Bottom-Rect.Top)*(DPI/96 uživatele)

Požadavky

Požadavek Hodnota
Minimální podporovaný klient Windows 8 a Aktualizace platformy pro Windows 7 [desktopové aplikace | Aplikace pro Windows Store]
Minimální podporovaný server Windows 8 a Aktualizace platformy pro Windows 7 [desktopové aplikace | Aplikace pro Windows Store]
Záhlaví d2d1effects.h
Knihovna d2d1.lib, dxguid.lib

ID2D1Effect