색 관리 효과
색상 관리 효과를 사용하여 한 ICC(국제 색 컨소시엄) 색 프로필에서 다른 색상 프로필로 이미지를 변환합니다. 이 효과는 ICC 사양에 따라 이미지를 변환합니다.
이 효과에 대한 CLSID는 CLSID_D2D1ColorManagement.
효과 속성
표시 이름 및 인덱스 열거형 | Description |
---|---|
SourceContext D2D1_COLORMANAGEMENT_PROP_SOURCE_COLOR_CONTEXT |
원본 색 공간 정보입니다. ID2D1ColorContext 유형입니다. 기본값은 NULL입니다. |
SourceIntent D2D1_COLORMANAGEMENT_PROP_SOURCE_RENDERING_INTENT |
사용할 ICC 렌더링 의도입니다. 형식이 D2D1_COLORMANAGEMENT_RENDERING_INTENT. 기본값은 D2D1_COLORMANAGEMENT_RENDERING_INTENT_PERCEPTUAL. |
DestinationContext D2D1_COLORMANAGEMENT_PROP_DESTINATION_COLOR_CONTEXT |
대상 색 공간 정보입니다. ID2D1ColorContext 유형입니다. 기본값은 NULL입니다. |
DestinationIntent D2D1_COLORMANAGEMENT_PROP_DESTINATION_RENDERING_INTENT |
사용할 ICC 렌더링 의도입니다. 형식이 D2D1_COLORMANAGEMENT_RENDERING_INTENT. 기본값은 D2D1_COLORMANAGEMENT_RENDERING_INTENT_PERCEPTUAL. |
AlphaMode D2D1_COLORMANAGEMENT_PROP_ALPHA_MODE |
입력 이미지에 포함된 알파 데이터를 해석하는 방법입니다. 형식이 D2D1_COLORMANAGEMENT_ALPHA_MODE. 기본값은 D2D1_COLORMANAGEMENT_ALPHA_MODE_PREMULTIPLIED. |
품질 D2D1_COLORMANAGEMENT_PROP_QUALITY |
변환의 품질 수준입니다. 형식이 D2D1_COLORMANAGEMENT_QUALITY. 기본값은 D2D1_COLORMANAGEMENT_QUALITY_NORMAL. |
렌더링 의도 모드
열거형 | 설명 |
---|---|
D2D1_COLORMANAGEMENT_RENDERING_INTENT_PERCEPTUAL | 이 효과는 이미지의 전체 색 영역을 압축하거나 확장하여 장치의 색 영역을 채우며 색상 세부 정보를 유지하지만 색 정확도를 희생할 수 있는 지각적으로 만족스러운 출력을 생성합니다. 사진과 같은 실제 콘텐츠를 일반적으로 재현하는 데 유용합니다. |
D2D1_COLORMANAGEMENT_RENDERING_INTENT_RELATIVE_COLORIMETRIC | 이 효과는 출력 디바이스가 렌더링할 수 있는 가장 가까운 색으로 렌더링할 수 있는 영역 밖에 있는 모든 색을 조정합니다. 흰색 점은 유지되지 않습니다. |
D2D1_COLORMANAGEMENT_RENDERING_INTENT_SATURATION | 이 효과는 색상과 가벼움을 희생하여 이미지에서 순수한 색의 채도를 유지합니다. 차트 및 다이어그램과 같은 그래픽에 유용합니다. |
D2D1_COLORMANAGEMENT_RENDERING_INTENT_ABSOLUTE_COLORIMETRIC | 이 효과는 출력 디바이스가 렌더링할 수 있는 가장 가까운 색으로 렌더링할 수 있는 영역 밖에 있는 모든 색을 조정합니다. 이 효과는 인-감색을 변경하지 않고 흰색 점을 유지합니다. |
입력 이미지 알파 모드
열거형 | 설명 |
---|---|
D2D1_COLORMANAGEMENT_ALPHA_MODE_PREMULTIPLIED | 이 효과는 알파 모드가 미리 곱하다고 가정합니다. |
D2D1_COLORMANAGEMENT_ALPHA_MODE_STRAIGHT | 효과는 알파 모드가 직선이라고 가정합니다. |
D2D1_GAMMA1_G2084 동작 변경
애플리케이션에서 D2D1_GAMMA1_G2084 공간 또는 SMPTE ST.2084(Perceptual Quantizer) 색 공간을 사용하는 DXGI_COLOR_SPACE_TYPE 열거형 값 중 하나를 사용하는 경우 애플리케이션은 HDR 데이터로 작업하려고 합니다.
ID2D1DeviceContext5::CreateColorContextFromSimpleColorProfile 및 ID2D1DeviceContext5::CreateColorContextFromDxgiColorSpace API는 이를 고려하지 않습니다. 오히려 HDR 콘텐츠는 G2084 DeGamma 작업 중 0-1 범위에 맞게 조정됩니다.
실제로 이 감마 공간에서 인코딩된 콘텐츠는 일반적으로 CCCS에서 10,000/80 = 125.0으로 표현되는 10,000니트의 참조 WhiteLevel을 사용합니다. 따라서 앱의 용이성 향상을 위해 이 감마 변환이 광도를 125 배로 확장하는 것이 가장 간단합니다. Windows 10, 버전 1809 현재(10.0; 빌드 17763), 색 관리 효과의 동작은 이 크기 조정을 적용하는 것입니다. 즉, 개발자는 파이프라인에 두 번째 흰색 수준 조정 효과를 적용할 필요가 없습니다.
ICC 사양 준수
색 관리 효과는 ICC v4.3 사양을 준수하며 다음과 같은 제한 사항이 있습니다.
- 이 효과는 1, 3 및 4 채널 색 공간을 지원합니다.
- 이 효과는 ColorSpace 또는 명명된 색 프로필을 지원하지 않습니다.
알파 채널 동작
일반적으로 원본 이미지에 알파 데이터가 없고 대상 이미지에 공간이 없으면 알파 데이터가 삭제되면 효과가 알파를 1(불투명)으로 설정합니다. 다음 표에서는 알파 동작에 대해 설명합니다.
원본 색 영역, 픽셀 형식 | 대상 색 영역, 픽셀 형식 | 알파 동작 |
---|---|---|
1 채널, R 픽셀 형식 |
1 채널, R 픽셀 형식 | (알파 데이터 없음) |
1개 채널, RGBA 픽셀 형식 | 알파 데이터가 1로 설정됨(불투명) | |
3개 채널, RGBA 픽셀 형식 | 알파 데이터가 1로 설정됨(불투명) | |
4개 채널, RGBA 픽셀 형식 | (알파 데이터 없음) | |
1개 채널, RGBA 픽셀 형식 |
1 채널, R 픽셀 형식 | 알파 데이터가 삭제됨 |
채널 1개, RGBA 픽셀 형식 | 알파 데이터를 통해 전달됩니다. | |
3개 채널, RGBA 픽셀 형식 | 알파 데이터를 통해 전달됩니다. | |
4개 채널, RGBA 픽셀 형식 | 알파 데이터가 삭제됨 | |
3개 채널, RGBA 픽셀 형식 |
1개 채널, R 픽셀 형식 | 알파 데이터가 삭제됨 |
채널 1개, RGBA 픽셀 형식 | 알파 데이터를 통해 전달됩니다. | |
3개 채널, RGBA 픽셀 형식 | 알파 데이터를 통해 전달됩니다. | |
4개 채널, RGBA 픽셀 형식 | 알파 데이터가 삭제됨 | |
4개 채널, RGBA 픽셀 형식 |
1개 채널, R 픽셀 형식 | (알파 데이터 없음) |
채널 1개, RGBA 픽셀 형식 | 알파 데이터가 1(불투명)으로 설정됨 | |
3개 채널, RGBA 픽셀 형식 | 알파 데이터가 1(불투명)으로 설정됨 | |
4개 채널, RGBA 픽셀 형식 | (알파 데이터 없음) |
품질 모드
Mode | Description |
---|---|
D2D1_COLORMANAGEMENT_QUALITY_PROOF | 가장 낮은 품질 모드입니다. 이 모드에는 기능 수준 9_1 이상이 필요합니다. |
D2D1_COLORMANAGEMENT_QUALITY_NORMAL | 일반 품질 모드입니다. 이 모드에는 기능 수준 9_1 이상이 필요합니다. |
D2D1_COLORMANAGEMENT_QUALITY_BEST | 최고 품질 모드입니다. 이 모드에는 부동 소수점 정밀도 버퍼뿐만 아니라 기능 수준 10_0 이상이 필요합니다. 이 모드는 ICC v4.3 사양에 정의된 대로 부동 소수점 정밀도와 확장 범위를 지원합니다. |
애플리케이션이 하드웨어에서 지원되지 않는 품질 모드를 요청하는 경우 그리기 시 색 관리 효과가 실패합니다. D3D11CreateDevice를 호출할 때 기능 수준을 확인할 수 있습니다. id2D1EffectContext::IsBufferPrecisionSupported 값을 D2D1_BUFFER_PRECISION_32BPC_FLOAT 호출하여 부동 소수점 버퍼 지원을 확인할 수 있습니다.
예제 코드
이 효과의 예는 Direct2D 효과 사진 조정 샘플을 다운로드하고 샘플의 4단원을 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 7용 Windows 8 및 플랫폼 업데이트 [데스크톱 앱 | Windows Microsoft Store 앱] |
지원되는 최소 서버 | Windows 7용 Windows 8 및 플랫폼 업데이트 [데스크톱 앱 | Windows Microsoft Store 앱] |
헤더 | d2d1effects.h |
라이브러리 | d2d1.lib, dxguid.lib |