Delen via


Helderheid tot alfa-effect

Gebruik de luminantie voor alfa-effect om het alfakanaal in te stellen op de luminantie van de afbeelding en de kleurkanalen in te stellen op 0. U kunt de uitvoer van dit effect gebruiken om een semitransparante overlay te maken op basis van de helderheid van de invoerafbeelding. U kunt het ook gebruiken om een afbeeldingsmasker te maken.

Notitie

Dit effect heeft geen eigenschappen.

 

De CLSID voor dit effect is CLSID_D2D1LuminanceToAlpha.

Voorbeeldafbeelding

In dit voorbeeld ziet u de uitvoer van de luminantie naar alfa-effect dat is samengesteld over een wit oppervlak om dekking weer te geven.

Voor
de afbeelding vóór het effect.
Na
de afbeelding na de transformatie.

 

ComPtr<ID2D1Effect> luminanceToAlphaEffect;
m_d2dContext->CreateEffect(CLSID_D2D1LuminanceToAlpha, &luminanceToAlphaEffect);

luminanceToAlphaEffect->SetInput(0, bitmap);

// LuminanceToAlpha result is composited on top of a white surface to show opacity.
ComPtr<ID2D1Effect> floodEffect;
m_d2dContext->CreateEffect(CLSID_D2D1Flood, &floodEffect);
floodEffect->SetValue(D2D1_FLOOD_PROP_COLOR, D2D1::Vector4F(1.0f, 1.0f, 1.0f, 1.0f));

ComPtr<ID2D1Effect> compositeEffect;
m_d2dContext->CreateEffect(CLSID_D2D1Composite, &compositeEffect);

compositeEffect->SetInputEffect(0, floodEffect.Get());
compositeEffect->SetInputEffect(1, luminanceToAlphaEffect.Get());

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

Met dit effect wordt het alfakanaal van de uitvoer ingesteld op de luminantie van de invoerafbeelding met behulp van deze kleurenmatrix.

de kleurmatrix die het effect gebruikt om het alfakanaal in te stellen.

Dit effect verbruikt en levert vooraf gedefinieerde alfa-installatiekopieën op. Het effect werkt niet op rechte alfaafbeeldingen, tenzij ze volledig ondoorzichtig zijn.

Notitie

Omdat afbeeldingen zijn opgeslagen in een gamma-gecompenseerde indeling, moet u voordat u de luminantie voor een afbeelding berekent eerst inverse gammacorrectie uitvoeren om de werkelijke kleurwaarden voor de afbeelding op te halen. Omdat afbeeldingen normaal gesproken worden opgeslagen bij 2,2 gamma, kunt u het Gamma-overdrachtseffect gebruiken met een exponent van (1/2.2) en vervolgens de uitvoer van dat effect gebruiken.

 

Eisen

Eis Waarde
Minimaal ondersteunde client Windows 8 en Platform Update voor Windows 7 [desktop-apps | Windows Store-apps]
Minimaal ondersteunde server Windows 8 en Platform Update voor Windows 7 [desktop-apps | Windows Store-apps]
Rubriek d2d1effects.h
Bibliotheek d2d1.lib, dxguid.lib

 

Uitvoer bitmap

De uitvoer heeft dezelfde grootte als de invoerafbeelding.

ID2D1Effect-