D2D1_ALPHA_MODE 열거형(dcommon.h)
비트맵 또는 렌더링 대상의 알파 값을 처리하는 방법을 지정합니다.
Syntax
typedef enum D2D1_ALPHA_MODE {
D2D1_ALPHA_MODE_UNKNOWN = 0,
D2D1_ALPHA_MODE_PREMULTIPLIED = 1,
D2D1_ALPHA_MODE_STRAIGHT = 2,
D2D1_ALPHA_MODE_IGNORE = 3,
D2D1_ALPHA_MODE_FORCE_DWORD = 0xffffffff
} ;
상수
D2D1_ALPHA_MODE_UNKNOWN 값: 0 알파 값은 의미가 없을 수 있습니다. |
D2D1_ALPHA_MODE_PREMULTIPLIED 값: 1 알파 값이 미리 곱해졌습니다. 각 색은 먼저 알파 값으로 크기가 조정됩니다. 알파 값 자체는 직선 및 미리 곱한 알파에서 동일합니다. 일반적으로 알파 채널 값보다 큰 색 채널 값은 없습니다. 미리 곱한 형식의 색 채널 값이 알파 채널보다 크면 표준 소스 오버 혼합 수학이 가산 혼합됩니다. |
D2D1_ALPHA_MODE_STRAIGHT 값: 2 알파 값이 미리 곱해지지 않았습니다. 알파 채널은 색의 투명도를 나타냅니다. |
D2D1_ALPHA_MODE_IGNORE 값: 3 알파 값은 무시됩니다. |
D2D1_ALPHA_MODE_FORCE_DWORD 값: 0xffffffff |
설명
D2D1_ALPHA_MODE 열거형은 렌더링 대상 또는 비트맵의 알파 모드를 지정하기 위해 D2D1_PIXEL_FORMAT 열거형과 함께 사용됩니다. 다른 렌더링 대상 및 비트맵은 서로 다른 알파 모드를 지원합니다. 목록은 지원되는 픽셀 형식 및 알파 모드를 참조하세요.
직선 알파와 미리 곱한 알파의 차이점
직선 알파를 사용하여 RGBA 색을 설명할 때 색의 알파 값은 알파 채널에 저장됩니다. 예를 들어 60% 불투명한 빨간색을 설명하기 위해 다음 값을 사용합니다. (255, 0, 0, 255 * 0.6) = (255, 0, 0, 153). 255 값은 전체 빨간색을 나타내고, 153(255의 60%)은 색의 불투명도가 60%여야 함을 나타냅니다.미리 곱한 알파를 사용하여 RGBA 색을 설명할 때 각 색은 알파 값 (255 * 0.6, 0 * 0.6, 0 * 0.6, 255 * 0.6) = (153, 0, 0, 153)을 곱합니다.
렌더링 대상의 알파 모드에 관계없이 D2D1_COLOR_F 값은 항상 직선 알파로 해석됩니다. 예를 들어 미리 곱한 알파 모드를 사용하는 비트맵과 함께 사용할 ID2D1SolidColorBrush 의 색을 지정할 때 비트맵에서 직선 알파를 사용하는 경우와 마찬가지로 색을 지정합니다. 브러시로 칠할 때 Direct2D는 색을 대상 형식으로 변환합니다.
렌더링 대상에 대한 알파 모드
알파 모드 설정에 관계없이 렌더링 대상의 콘텐츠는 투명도를 지원합니다. 예를 들어 알파 모드가 D2D1_ALPHA_MODE_IGNORE 렌더링 대상으로 부분적으로 투명한 빨간색 사각형을 그리면 예상대로 사각형이 분홍색으로 표시됩니다(배경이 흰색인 경우).알파 모드가 CreateCompatibleRenderTarget 메서드일 때 부분적으로 투명한 빨간색 사각형을 그리면 투명도를 지원하는 비트맵을 만듭니다.
ClearType 및 알파 모드
렌더링 대상에 D2D1_ALPHA_MODE_IGNORE 이외의 알파 모드를 지정하면 텍스트 앤티앨리어싱 모드가 자동으로 D2D1_TEXT_ANTIALIAS_MODE CLEARTYPE 에서 D2D1_TEXT_ANTIALIAS_MODE GRAYSCALE로 변경됩니다. ( D2D1_ALPHA_MODE_UNKNOWN 알파 모드를 지정하면 Direct2D는 렌더링 대상 유형에 따라 알파를 설정합니다. 각 렌더링 대상에 대해 D2D1_ALPHA_MODE_UNKNOWN 설정이 확인되는 항목 목록은 지원되는 픽셀 형식 및 알파 모드 개요를 참조하세요 .)SetTextAntialiasMode 메서드를 사용하여 텍스트 앤티앨리어스 모드를 다시 D2D1_TEXT_ANTIALIAS_MODE CLEARTYPE으로 변경할 수 있지만 ClearType 텍스트를 투명한 표면으로 렌더링하면 예측할 수 없는 결과가 발생할 수 있습니다. ClearType 텍스트를 투명한 렌더링 대상으로 렌더링하려면 다음 두 가지 기술 중 하나를 사용하는 것이 좋습니다.
- PushAxisAlignedClip 메서드를 사용하여 렌더링 대상을 텍스트가 렌더링될 영역으로 클리핑한 다음 Clear 메서드를 호출하고 불투명 색을 지정한 다음 텍스트를 렌더링합니다.
- DrawRectangle을 사용하여 텍스트가 렌더링될 영역 뒤에 불투명 사각형을 그립니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 7, Windows Vista SP2 및 Windows Vista용 플랫폼 업데이트가 포함된 Windows Vista [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows Server 2008 R2, Windows Server 2008 SP2 및 Windows Server 2008용 플랫폼 업데이트 [데스크톱 앱 | UWP 앱] |
머리글 | dcommon.h(D2d1.h 포함) |