Dela via


Hue-rotationseffekt

Använd nyansroteringseffekten för att ändra nyansen i en bild genom att använda en färgmatris baserat på rotationsvinkeln.

CLSID för den här effekten är CLSID_D2D1HueRotation.

Exempelbild

Exemplet här visar in- och utdatabilderna av nyansroteringseffekten med en rotationsvinkel på 270 grader.

Före
bilden före effekten.
Efter
bilden efter transformen.
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();

Effekten beräknar en färgmatris baserat på rotationsvinkeln (?) som du anger med egenskapen D2D1_HUEROTATION_PROP_ANGLE. Här är matrisekvationerna.

rotationsberäkningar för nyans

Den matris som skapas beror bara på rotationsvinkeln. Du kan använda färgmatris effekt om du behöver en specifik matris.

Effektegenskaper

Visningsnamn och indexuppräkning Typ- och standardvärde Beskrivning
Vinkel
D2D1_HUEROTATION_PROP_ANGLE
FLYTA
0.0f
Vinkeln för att rotera nyansen, i grader.

Utdatabitmapp

Bitmappsstorleken för utdata är samma som bitmappsstorleken för indata.

Krav

Krav Värde
Lägsta klient som stöds Windows 8 och Platform Update för Windows 7 [skrivbordsappar | Windows Store-appar]
Lägsta server som stöds Windows 8 och Platform Update för Windows 7 [skrivbordsappar | Windows Store-appar]
Rubrik d2d1effects.h
Bibliotek d2d1.lib, dxguid.lib

ID2D1Effect