테이블 전송 효과
테이블 전송 효과를 사용하여 제공한 값 목록을 보간하여 만든 전송 함수를 사용하여 이미지의 색 강도를 매핑합니다.
이 효과에 대한 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/N = C <(k+1)/N과 같은 값 k를 선택합니다.
출력 C는 다음 수식을 사용하여 계산됩니다. C' = V? + (C - k/N) * N * (V??? 1? - V?)
이 효과는 직선 및 미리 곱한 알파 이미지에서 작동합니다. 효과는 미리 곱한 알파 비트맵을 출력합니다.
테이블 속성이 [0.0, 0.25, 1.0]
설정된 경우 테이블 전송 함수의 그래프는 다음과 같습니다.
테이블 전송 함수에 대한 픽셀 강도 그래프를
효과 속성
메모
테이블 전송 속성의 모든 채널 값은 단위가 없으며 최소 0.0 및 최대 1.0입니다.
표시 이름 및 인덱스 열거형 | 형식 및 기본값 | 묘사 |
---|---|---|
RedTable D2D1_TABLETRANSFER_PROP_RED_TABLE |
FLOAT[] {0.0f, 1.0f} |
빨간색 채널의 전송 함수를 정의하는 데 사용되는 값 목록입니다. |
RedDisable D2D1_TABLETRANSFER_PROP_RED_DISABLE |
BOOL FALSE |
이 값을 TRUE로 설정하면 빨간색 채널에 전송 함수가 적용되지 않습니다. FALSE로 설정하면 RedTableTransfer 함수가 빨간색 채널에 적용됩니다. |
GreenTable D2D1_TABLETRANSFER_PROP_GREEN_TABLE |
FLOAT[] {0.0f, 1.0f} |
녹색 채널의 전송 함수를 정의하는 데 사용되는 값 목록입니다. |
GreenDisable D2D1_TABLETRANSFER_PROP_GREEN_DISABLE |
BOOL FALSE |
이 값을 TRUE로 설정하면 녹색 채널에 전송 함수가 적용되지 않습니다. FALSE로 설정하면 GreenTableTransfer 함수가 녹색 채널에 적용됩니다. |
BlueTable D2D1_TABLETRANSFER_PROP_BLUE_TABLE |
FLOAT[] {0.0f, 1.0f} |
Blue 채널의 전송 함수를 정의하는 데 사용되는 값 목록입니다. |
BlueDisable D2D1_TABLETRANSFER_PROP_BLUE_DISABLE |
BOOL FALSE |
이 값을 TRUE로 설정하면 파랑 채널에 전송 함수가 적용되지 않습니다. FALSE로 설정하면 BlueTableTransfer 함수가 Blue 채널에 적용됩니다. |
AlphaTable D2D1_TABLE_TRANSFER_PROP_ALPHA_TABLE |
FLOAT[] {0.0f, 1.0f} |
알파 채널의 전송 함수를 정의하는 데 사용되는 값 목록입니다. |
AlphaDisable D2D1_TABLETRANSFER_PROP_ALPHA_DISABLE |
BOOL FALSE |
이 값을 TRUE로 설정하면 알파 채널에 전송 함수가 적용되지 않습니다. FALSE로 설정하면 AlphaTableTransfer 함수가 알파 채널에 적용됩니다. |
ClampOutput D2D1_TABLETRANSFER_PROP_CLAMP_OUTPUT |
BOOL FALSE |
효과가 그래프의 다음 효과에 값을 전달하기 전에 효과가 색 값을 0에서 1 사이로 고정하는지 여부입니다. 이 효과는 알파를 미리 곱하기 전에 값을 고정합니다. TRUE로 설정하면 효과가 값을 고정합니다. FALSE로 설정하면 효과는 색 값을 고정하지 않지만, 다른 효과와 출력 표면은 충분히 높은 정밀도가 아닌 경우 값을 고정할 수 있습니다. |
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 7용 Windows 8 및 플랫폼 업데이트 [데스크톱 앱 | Windows 스토어 앱] |
지원되는 최소 서버 | Windows 7용 Windows 8 및 플랫폼 업데이트 [데스크톱 앱 | Windows 스토어 앱] |
머리글 | d2d1effects.h |
도서관 | d2d1.lib, dxguid.lib |