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 |
---|
![]() |
Na |
![]() |
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.
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.
Verwante onderwerpen