Sdílet prostřednictvím


Efekt otočení odstínu

Pomocí efektu otáčení odstínu můžete změnit odstín obrázku použitím barevné matice na základě úhlu otočení.

CLSID pro tento účinek je CLSID_D2D1HueRotation.

Příklad obrázku

Příklad zde ukazuje vstupní a výstupní obrázky efektu otočení odstínu s úhlem otočení 270 stupňů.

Před
obrázek před efektem.
Po
obrázek po transformaci.
ComPtr<ID2D1Effect> hueRotationEffect;
m_d2dContext->CreateEffect(CLSID_D2D1HueRotation, &hueRotationEffect);

hueRotationEffect->SetInput(0, bitmap);
hueRotationEffect->SetValue(D2D1_HUEROTATION_PROP_ANGLE, 270.0f);

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

Efekt vypočítá barevnou matici na základě úhlu otočení (?), který zadáte pomocí vlastnosti D2D1_HUEROTATION_PROP_ANGLE. Tady jsou maticové rovnice.

výpočty otočení odstínů

Matice vytvořená závisí pouze na úhlu otáčení. Pokud potřebujete konkrétní matici, můžete použít barevnou matici efekt.

Vlastnosti efektu

Zobrazovaný název a výčet indexu Typ a výchozí hodnota Popis
Úhel
D2D1_HUEROTATION_PROP_ANGLE
PLOUT
0.0f
Úhel otočení odstínu ve stupních.

Výstupní rastrový obrázek

Velikost výstupního rastrového obrázku je stejná jako velikost vstupního rastrového obrázku.

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