Efecto de transferencia de tabla
Use el efecto de transferencia de tabla para asignar las densidades de color de una imagen mediante una función de transferencia creada a partir de la interpolación de una lista de valores que proporcione.
El CLSID de este efecto es CLSID_D2D1TableTransfer.
Imagen de ejemplo
La imagen aquí muestra la entrada y salida del efecto de transferencia de tabla.
Antes |
---|
Después |
ComPtr<ID2D1Effect> tableTransferEffect;
m_d2dContext->CreateEffect(CLSID_D2D1TableTransfer, &tableTransferEffect);
tableTransferEffect->SetInput(0, bitmap);
float table[2] = {0.75f, 1.0f};
tableTransferEffect->SetValue(D2D1_TABLETRANSFER_PROP_BLUE_TABLE, table);
m_d2dContext->BeginDraw();
m_d2dContext->DrawImage(tableTransferEffect.Get());
m_d2dContext->EndDraw();
La función de transferencia se basa en una lista de entradas V=(V0,V1,V2,V3, V? ,VN), donde N es el número de elementos - 1.
La intensidad del píxel de entrada se representa como C. La intensidad del píxel de salida, C se puede calcular con la ecuación.
Para un valor C, elija un valor k, de modo que: k/N = C < (k+1)/N
La salida C se calcula con la siguiente ecuación: C' = V? + (C - k/N) * N * (V??? 1? - V?)
Este efecto funciona en imágenes alfa rectas y premultiplicadas. El efecto genera mapas de bits alfa premultiplicados.
Este es el aspecto del gráfico de la función de transferencia de tabla si la propiedad table está establecida [0.0, 0.25, 1.0]
en .
Propiedades de efecto
Nota:
Los valores de todos los canales de las propiedades de transferencia de tabla no son unitarios y tienen un mínimo de 0,0 y un máximo de 1,0.
Enumeración de nombre para mostrar e índice | Tipo y valor predeterminado | Descripción |
---|---|---|
RedTable D2D1_TABLETRANSFER_PROP_RED_TABLE |
FLOAT[] {0.0f, 1.0f} |
Lista de valores usados para definir la función de transferencia para el canal rojo. |
RedDisable D2D1_TABLETRANSFER_PROP_RED_DISABLE |
BOOL FALSE |
Si establece esto en TRUE, el efecto no aplica la función de transferencia al canal rojo. Si establece esta opción en FALSE, aplica la función RedTableTransfer al canal rojo. |
GreenTable D2D1_TABLETRANSFER_PROP_GREEN_TABLE |
FLOAT[] {0.0f, 1.0f} |
Lista de valores usados para definir la función de transferencia para el canal verde. |
GreenDisable D2D1_TABLETRANSFER_PROP_GREEN_DISABLE |
BOOL FALSE |
Si establece esto en TRUE, el efecto no aplica la función de transferencia al canal verde. Si se establece en FALSE, se aplica la función GreenTableTransfer al canal verde. |
BlueTable D2D1_TABLETRANSFER_PROP_BLUE_TABLE |
FLOAT[] {0.0f, 1.0f} |
Lista de valores usados para definir la función de transferencia para el canal Azul. |
BlueDisable D2D1_TABLETRANSFER_PROP_BLUE_DISABLE |
BOOL FALSE |
Si establece esto en TRUE, el efecto no aplica la función de transferencia al canal azul. Si establece esto en FALSE, aplica la función BlueTableTransfer al canal azul. |
AlphaTable D2D1_TABLE_TRANSFER_PROP_ALPHA_TABLE |
FLOAT[] {0.0f, 1.0f} |
Lista de valores usados para definir la función de transferencia para el canal Alfa. |
AlphaDisable D2D1_TABLETRANSFER_PROP_ALPHA_DISABLE |
BOOL FALSE |
Si establece esto en TRUE, el efecto no aplica la función de transferencia al canal Alfa. Si se establece en FALSE, se aplica la función AlphaTableTransfer al canal Alfa. |
ClampOutput D2D1_TABLETRANSFER_PROP_CLAMP_OUTPUT |
BOOL FALSE |
Si el efecto sujeta los valores de color a entre 0 y 1 antes de que el efecto pase los valores al siguiente efecto del gráfico. El efecto sujeta los valores antes de que premulte el alfa . Si establece esto en TRUE, el efecto restringirá los valores. Si establece esto en FALSE, el efecto no sujetará los valores de color, pero otros efectos y la superficie de salida pueden sujetar los valores si no tienen una precisión lo suficientemente alta. |
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 |