表传输效果
使用表传输效果通过插入所提供的值列表创建的传输函数来映射图像的颜色强度。
此效果的 CLSID CLSID_D2D1TableTransfer。
示例图像
此处的图像显示了表传输效果的输入和输出。
以前 |
---|
在效果之前 ![]() |
后 |
转换后 ![]() |
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();
传输函数基于输入 V=(V0、V1、V2、V3、V? 、VN)的列表,其中 N 是元素数 - 1。
输入像素强度表示为 C。可以使用公式计算输出像素强度 C。
对于值 C,请选择值 k,以便:k/N = C < (k+1)/N
输出 C 使用以下公式计算:C' = V? + (C - k/N) * N * (V???1?- V?)
此效果适用于直接和预乘的 alpha 图像。 效果输出预乘的 alpha 位图。
如果表属性设置为 [0.0, 0.25, 1.0]
,表传输函数的图形将如下所示。
表传输函数的
效果属性
注意
表传输属性的所有通道的值是无单位的,并且最小为 0.0,最大为 1.0。
显示名称和索引枚举 | 类型和默认值 | 描述 |
---|---|---|
RedTable D2D1_TABLETRANSFER_PROP_RED_TABLE |
FLOAT[] {0.0f, 1.0f} |
用于定义 Red 通道传输函数的值列表。 |
RedDisable D2D1_TABLETRANSFER_PROP_RED_DISABLE |
BOOL 假 |
如果将其设置为 TRUE,效果不会将传输函数应用到 Red 通道。 如果将其设置为 FALSE,则会将 RedTableTransfer 函数应用于 Red 通道。 |
GreenTable D2D1_TABLETRANSFER_PROP_GREEN_TABLE |
FLOAT[] {0.0f, 1.0f} |
用于定义绿色通道的传输函数的值列表。 |
GreenDisable D2D1_TABLETRANSFER_PROP_GREEN_DISABLE |
BOOL 假 |
如果将此项设置为 TRUE,效果不会将传输函数应用于绿色通道。 如果将其设置为 FALSE,则会将 GreenTableTransfer 函数应用于 Green 通道。 |
BlueTable D2D1_TABLETRANSFER_PROP_BLUE_TABLE |
FLOAT[] {0.0f, 1.0f} |
用于定义 Blue 通道的传输函数的值列表。 |
BlueDisable D2D1_TABLETRANSFER_PROP_BLUE_DISABLE |
BOOL 假 |
如果将其设置为 TRUE,效果不会将传输函数应用于蓝色通道。 如果将其设置为 FALSE,则会将 BlueTableTransfer 函数应用于 Blue 通道。 |
AlphaTable D2D1_TABLE_TRANSFER_PROP_ALPHA_TABLE |
FLOAT[] {0.0f, 1.0f} |
用于定义 Alpha 通道传输函数的值列表。 |
AlphaDisable D2D1_TABLETRANSFER_PROP_ALPHA_DISABLE |
BOOL 假 |
如果将其设置为 TRUE,效果不会将传输函数应用于 Alpha 通道。 如果将其设置为 FALSE,则会将 AlphaTableTransfer 函数应用于 Alpha 通道。 |
ClampOutput D2D1_TABLETRANSFER_PROP_CLAMP_OUTPUT |
BOOL 假 |
在效果将值传递到图形中的下一个效果之前,该效果是否将颜色值固定到 0 到 1 之间。 效果在预乘 alpha 之前固定值。 如果将此值设置为 TRUE,效果将固定值。 如果将此值设置为 FALSE,则效果不会固定颜色值,但如果这些值不够精确,则其他效果和输出图面可能会固定这些值。 |
要求
要求 | 价值 |
---|---|
支持的最低客户端 | 适用于 Windows 7 的 Windows 8 和平台更新 [桌面应用 |Windows 应用商店应用] |
支持的最低服务器 | 适用于 Windows 7 的 Windows 8 和平台更新 [桌面应用 |Windows 应用商店应用] |
页眉 | d2d1effects.h |
图书馆 | d2d1.lib、dxguid.lib |