Luminancia al efecto alfa
Utilice la luminancia para el efecto alfa para establecer el canal alfa en la luminancia de la imagen y establece los canales de color en 0. Puede usar la salida de este efecto para crear una superposición semitransparente basada en el brillo de la imagen de entrada. O bien, puede usarlo para crear una máscara de imagen.
Nota:
Este efecto no tiene propiedades.
El CLSID de este efecto es CLSID_D2D1LuminanceToAlpha.
Imagen de ejemplo
En este ejemplo se muestra la salida de la luminancia a efecto alfa compuesta sobre una superficie blanca para mostrar opacidad.
Antes |
---|
Después |
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();
Este efecto establece el canal alfa de la salida en la luminancia de la imagen de entrada mediante esta matriz de colores.
Este efecto consume y genera imágenes alfa premultiplicadas. El efecto no funcionará en imágenes alfa rectas a menos que sean totalmente opacos.
Nota
Dado que las imágenes se almacenan en un formato compensado gamma, antes de calcular la luminancia de una imagen, primero debe realizar la corrección gamma inversa para obtener los valores de color verdaderos de la imagen. Dado que las imágenes se almacenan normalmente en gamma 2.2, puede usar el efecto de transferencia Gamma con un exponente de (1/2.2) y luego usar la salida de ese efecto.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 8 y actualización de plataforma para Windows 7 [aplicaciones de escritorio | Aplicaciones de la Tienda Windows] |
Servidor mínimo compatible | Windows 8 y actualización de plataforma para Windows 7 [aplicaciones de escritorio | Aplicaciones de la Tienda Windows] |
Encabezado | d2d1effects.h |
Biblioteca | d2d1.lib, dxguid.lib |
Mapa de bits de salida
La salida tiene el mismo tamaño que la imagen de entrada.
Temas relacionados