선형 전송 효과
선형 전송 효과를 사용하여 각 채널에 대해 제공하는 값 목록에서 만든 선형 함수를 사용하여 이미지의 색 강도를 매핑합니다.
이 효과에 대한 CLSID는 CLSID_D2D1LinearTransfer.
예제 이미지
이전 |
---|
After |
ComPtr<ID2D1Effect> linearTransferEffect;
m_d2dContext->CreateEffect(CLSID_D2D1LinearTransfer, &linearTransferEffect);
linearTransferEffect->SetInput(0, bitmap);
linearTransferEffect->SetValue(D2D1_LINEARTRANSFER_PROP_RED_Y_INTERCEPT, -1.0f);
linearTransferEffect->SetValue(D2D1_LINEARTRANSFER_PROP_RED_SLOPE, 2.5f);
linearTransferEffect->SetValue(D2D1_LINEARTRANSFER_PROP_GREEN_Y_INTERCEPT, -1.0f);
linearTransferEffect->SetValue(D2D1_LINEARTRANSFER_PROP_GREEN_SLOPE, 5.0f);
m_d2dContext->BeginDraw();
m_d2dContext->DrawImage(linearTransferEffect.Get());
m_d2dContext->EndDraw();
선형 전송 함수는 지정한 각 채널의 기울기와 y 절편을 기반으로 생성됩니다. 출력 픽셀 강도 C는 C' = mC + B 수식을 사용하여 계산됩니다. 여기서 m은 선형 함수의 기울기이고 B는 선형 함수의 Y 절편입니다.
이 효과는 직선 및 미리 곱한 알파 이미지에서 작동합니다. 효과는 미리 곱한 알파 비트맵을 출력합니다.
효과 속성
참고
선형 전송 속성의 모든 채널:
- Y 절편은 바인딩되지 않으며 단위가 없습니다.
- 기울기는 경계가 없으며 단위가 없습니다.
표시 이름 및 인덱스 열거형 | 형식 및 기본값 | 설명 |
---|---|---|
RedYIntercept D2D1_LINEARTRANSFER_PROP_RED_Y_INTERCEPT |
FLOAT 0.0f |
빨간색 채널에 대한 선형 함수의 Y 절편입니다. |
RedSlope D2D1_LINEARTRANSFER_PROP_RED_SLOPE |
FLOAT 1.0f |
빨간색 채널에 대한 선형 함수의 기울기입니다. |
RedDisable D2D1_LINEARTRANSFER_PROP_RED_DISABLE |
BOOL FALSE |
이 값을 TRUE로 설정하면 효과는 전송 함수를 빨간색 채널에 적용하지 않습니다. FALSE로 설정하면 RedLinearTransfer 함수가 빨간색 채널에 적용됩니다. |
GreenYIntercept D2D1_LINEARTRANSFER_PROP_GREEN_Y_INTERCEPT |
FLOAT 0.0f |
녹색 채널에 대한 선형 함수의 Y 절편입니다. |
GreenSlope D2D1_LINEARTRANSFER_PROP_GREEN_SLOPE |
FLOAT 1.0f |
녹색 채널에 대한 선형 함수의 기울기입니다. |
GreenDisable D2D1_LINEARTRANSFER_PROP_GREEN_DISABLE |
BOOL FALSE |
이 값을 TRUE로 설정하면 효과가 녹색 채널에 전송 함수를 적용하지 않습니다. FALSE로 설정하면 GreenLinearTransfer 함수가 녹색 채널에 적용됩니다. |
BlueYIntercept D2D1_LINEARTRANSFER_PROP_BLUE_Y_INTERCEPT |
FLOAT 0.0f |
파란색 채널에 대한 선형 함수의 Y 절편입니다. |
BlueSlope D2D1_LINEARTRANSFER_PROP_BLUE_SLOPE |
FLOAT 1.0f |
파란색 채널에 대한 선형 함수의 기울기입니다. |
BlueDisable D2D1_LINEARTRANSFER_PROP_BLUE_DISABLE |
BOOL FALSE |
이 값을 TRUE로 설정하면 효과가 Blue 채널에 전송 함수를 적용하지 않습니다. FALSE로 설정하면 BlueLinearTransfer 함수가 Blue 채널에 적용됩니다. |
AlphaYIntercept D2D1_LINEARTRANSFER_PROP_ALPHA_Y_INTERCEPT |
FLOAT 0.0f |
알파 채널에 대한 선형 함수의 Y 절편입니다. |
AlphaSlope D2D1_LINEARTRANSFER_PROP_ALPHA_SLOPE |
FLOAT 0.0f |
알파 채널에 대한 선형 함수의 기울기입니다. |
AlphaDisable D2D1_LINEARTRANSFER_PROP_ALPHA_DISABLE |
BOOL FALSE |
이 값을 TRUE로 설정하면 알파 채널에 전송 함수가 적용되지 않습니다. FALSE로 설정하면 AlphaLinearTransfer 함수가 알파 채널에 적용됩니다. |
ClampOutput D2D1_LINEARTRANSFER_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 |