감마 전송 효과
감마 전송 효과를 사용하여 각 채널에 대해 제공하는 진폭, 지수 및 오프셋을 사용하여 만든 감마 함수를 사용하여 이미지의 색 강도를 매핑합니다.
이 효과에 대한 CLSID는 CLSID_D2D1GammaTransfer. 이 효과를 사용하려면 링커 종속성에 dxguid.lib를 추가합니다.
예제 이미지
이전 |
---|
After |
ComPtr<ID2D1Effect> gammaTransferEffect;
m_d2dContext->CreateEffect(CLSID_D2D1GammaTransfer, &gammaTransferEffect);
gammaTransferEffect->SetInput(0, bitmap);
gammaTransferEffect->SetValue(D2D1_GAMMATRANSFER_PROP_RED_EXPONENT, 0.25f);
gammaTransferEffect->SetValue(D2D1_GAMMATRANSFER_PROP_GREEN_EXPONENT, 0.25f);
gammaTransferEffect->SetValue(D2D1_GAMMATRANSFER_PROP_BLUE_EXPONENT, 0.25f);
m_d2dContext->BeginDraw();
m_d2dContext->DrawImage(gammaTransferEffect.Get());
m_d2dContext->EndDraw();
이 효과는 여기에 수식을 기반으로 감마 전송 함수를 적용합니다.
입력 픽셀 강도는 C로, 출력 픽셀 강도는 C'로 표시됩니다. C' = 진폭 * C지수 + 오프셋
이 효과는 직선 및 미리 곱한 알파 이미지에서 작동합니다. 효과는 미리 곱한 알파 비트맵을 출력합니다.
효과 속성
참고
감마 전송 속성의 모든 채널:
- 진폭 값은 바인딩되지 않으며 단위가 없습니다.
- 지수 값은 바인딩되지 않으며 단위가 없습니다.
- 오프셋 값은 바인딩되지 않으며 단위가 없습니다.
표시 이름 및 인덱스 열거형 | 설명 |
---|---|
RedAmplitude D2D1_GAMMATRANSFER_PROP_RED_AMPLITUDE |
빨간색 채널에 대한 감마 전송 함수의 진폭입니다. FLOAT 형식입니다. 기본값은 1.0f입니다. |
RedExponent D2D1_GAMMATRANSFER_PROP_RED_EXPONENT |
빨간색 채널에 대한 감마 전송 함수의 지수입니다. FLOAT 형식입니다. 기본값은 1.0f입니다. |
RedOffset D2D1_GAMMATRANSFER_PROP_RED_OFFSET |
빨간색 채널에 대한 감마 전송 함수의 오프셋입니다. FLOAT 형식입니다. 기본값은 0.0f입니다. |
RedDisable D2D1_GAMMATRANSFER_PROP_RED_DISABLE |
이 값을 TRUE로 설정하면 전송 함수가 빨간색 채널에 적용되지 않습니다. ID 전송 함수가 사용됩니다. FALSE로 설정하면 감마 전송 함수가 빨간색 채널에 적용됩니다. BOOL 형식입니다. 기본값은 FALSE입니다. |
GreenAmplitude D2D1_GAMMATRANSFER_PROP_GREEN_AMPLITUDE |
녹색 채널에 대한 감마 전송 함수의 진폭입니다. FLOAT 형식입니다. 기본값은 1.0f입니다. |
GreenExponent D2D1_GAMMATRANSFER_PROP_GREEN_EXPONENT |
녹색 채널에 대한 감마 전송 함수의 지수입니다. FLOAT 형식입니다. 기본값은 1.0f입니다. |
GreenOffset D2D1_GAMMATRANSFER_PROP_GREEN_OFFSET |
녹색 채널에 대한 감마 전송 함수의 오프셋입니다. FLOAT 형식입니다. 기본값은 0.0f입니다. |
GreenDisable D2D1_GAMMATRANSFER_PROP_GREEN_DISABLE |
이 값을 TRUE로 설정하면 전송 함수가 녹색 채널에 적용되지 않습니다. ID 전송 함수가 사용됩니다. FALSE로 설정하면 감마 전송 함수가 녹색 채널에 적용됩니다. BOOL 형식입니다. 기본값은 FALSE입니다. |
BlueAmplitude D2D1_GAMMATRANSFER_PROP_BLUE_AMPLITUDE |
파란색 채널에 대한 감마 전송 함수의 진폭입니다. FLOAT 형식입니다. 기본값은 1.0f입니다. |
BlueExponent D2D1_GAMMATRANSFER_PROP_BLUE_EXPONENT |
Blue 채널에 대한 감마 전송 함수의 지수입니다. FLOAT 형식입니다. 기본값은 1.0f입니다. |
BlueOffset D2D1_GAMMATRANSFER_PROP_BLUE_OFFSET |
Blue 채널에 대한 감마 전송 함수의 오프셋입니다. FLOAT 형식입니다. 기본값은 0.0f입니다. |
BlueDisable D2D1_GAMMATRANSFER_PROP_BLUE_DISABLE |
TRUE로 설정하면 Blue 채널에 전송 함수가 적용되지 않습니다. ID 전송 함수가 사용됩니다. FALSE로 설정하면 감마 전송 함수가 파란색 채널에 적용됩니다. BOOL 형식입니다. 기본값은 FALSE입니다. |
AlphaAmplitude D2D1_GAMMATRANSFER_PROP_ALPHA_AMPLITUDE |
알파 채널에 대한 감마 전송 함수의 진폭입니다. FLOAT 형식입니다. 기본값은 1.0f입니다. |
AlphaExponent D2D1_GAMMATRANSFER_PROP_ALPHA_EXPONENT |
알파 채널에 대한 감마 전송 함수의 지수입니다. FLOAT 형식입니다. 기본값은 1.0f입니다. |
AlphaOffset D2D1_GAMMATRANSFER_PROP_ALPHA_OFFSET |
알파 채널에 대한 감마 전송 함수의 오프셋입니다. FLOAT 형식입니다. 기본값은 0.0f입니다. |
AlphaDisable D2D1_GAMMATRANSFER_PROP_ALPHA_DISABLE |
이 값을 TRUE로 설정하면 알파 채널에 전송 함수가 적용되지 않습니다. ID 전송 함수가 사용됩니다. FALSE로 설정하면 감마 전송 함수가 알파 채널에 적용됩니다. BOOL 형식입니다. 기본값은 FALSE입니다. |
ClampOutput D2D1_GAMMATRANSFER_PROP_CLAMP_OUTPUT |
효과가 그래프의 다음 효과에 값을 전달하기 전에 효과가 색 값을 0에서 1 사이로 고정하는지 여부입니다. 효과는 알파 를 미리 곱하기 전에 값을 고정합니다. 이 값을 TRUE로 설정하면 효과가 값을 고정합니다. 이 값을 FALSE로 설정하면 효과는 색 값을 고정하지 않지만 다른 효과와 출력 표면은 값이 충분히 정밀하지 않은 경우 값을 고정할 수 있습니다. BOOL 형식입니다. 기본값은 FALSE입니다. |
출력 비트맵
출력 비트맵 크기는 입력 비트맵 크기와 동일합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 7용 Windows 8 및 플랫폼 업데이트 [데스크톱 앱 | Windows 스토어 앱] |
지원되는 최소 서버 | Windows 7용 Windows 8 및 플랫폼 업데이트 [데스크톱 앱 | Windows 스토어 앱] |
헤더 | d2d1effects.h |
라이브러리 | d2d1.lib, dxguid.lib |