ID2D1DeviceContext::CreateGradientStopCollection 메서드(d2d1_1.h)
그라데이션 중지 컬렉션을 만들어 그라데이션이 [0,1] 이외의 값을 가진 색 채널을 포함할 수 있도록 하고 sRGB 공간에서 보간을 사용하여 고색 렌더링 대상에 렌더링을 사용하도록 설정합니다.
구문
HRESULT CreateGradientStopCollection(
const D2D1_GRADIENT_STOP *straightAlphaGradientStops,
UINT32 straightAlphaGradientStopsCount,
D2D1_COLOR_SPACE preInterpolationSpace,
D2D1_COLOR_SPACE postInterpolationSpace,
D2D1_BUFFER_PRECISION bufferPrecision,
D2D1_EXTEND_MODE extendMode,
D2D1_COLOR_INTERPOLATION_MODE colorInterpolationMode,
[out] ID2D1GradientStopCollection1 **gradientStopCollection1
);
매개 변수
straightAlphaGradientStops
형식: const D2D1_GRADIENT_STOP*
색 값 및 오프셋의 배열입니다.
straightAlphaGradientStopsCount
형식: UINT
gradientStops 배열의 요소 수입니다.
preInterpolationSpace
형식: D2D1_COLOR_SPACE
입력 색 공간과 색 보간이 발생하는 공간을 모두 지정합니다.
postInterpolationSpace
형식: D2D1_COLOR_SPACE
보간이 발생한 후 색이 로 변환되는 색 공간입니다.
bufferPrecision
보간된 값을 보유하는 데 사용되는 텍스처의 정밀도입니다.
extendMode
형식: D2D1_EXTEND_MODE
중지 컬렉션에서 정의한 범위 외부의 색을 결정하는 방법을 정의합니다.
colorInterpolationMode
형식: D2D1_COLOR_INTERPOLATION_MODE
색을 보간하는 방법을 정의합니다. D2D1_COLOR_INTERPOLATION_MODE_PREMULTIPLIED 기본값입니다. 자세한 내용은 비고를 참조하세요.
[out] gradientStopCollection1
형식: ID2D1GradientStopCollection1**
새 그라데이션 중지 컬렉션입니다.
반환 값
형식: HRESULT
이 메서드는 HRESULT를 반환합니다. 가능한 값에는 다음 표에 있는 값이 포함되지만, 이에 국한되는 것은 아닙니다.
HRESULT | 설명 |
---|---|
S_OK | 오류가 발생하지 않았습니다. |
E_OUTOFMEMORY | Direct2D에서 호출을 완료하는 데 충분한 메모리를 할당할 수 없습니다. |
E_INVALIDARG | 잘못된 값이 메서드에 전달되었습니다. |
설명
이 메서드는 색 정지 사이에 선형으로 보간합니다. 선택적 색 공간 변환은 보간 후 적용됩니다. 이 감마 변환이 적용되는지 여부와 방법은 사전 및 후 보간에 의해 결정됩니다. 디바이스 컨텍스트가 요청된 버퍼 정밀도를 지원하지 않으면 이 메서드가 실패합니다.
원하는 결과를 얻으려면 입력이 올바른 색 공간에 지정되어 있는지 확인해야 합니다.
보간 모드가 미리 곱하거나 직선이 되는 경우와 관계없이 항상 직선 알파로 색을 지정해야 합니다. 보간 모드는 보간된 값에만 영향을 줍니다. 마찬가지로 ID2D1GradientStopCollection::GetGradientStops 에서 반환되는 중지점에는 항상 직선 알파가 있습니다.
D2D1_COLOR_INTERPOLATION_MODE_PREMULTIPLIED 지정하는 경우 모든 중지는 보간 전에 미리 곱한 다음 색 변환 전에 미리 곱하지 않습니다.
Windows 8 이 메서드의 보간 동작이 변경되었습니다.
여기 표에는 Windows 7 이하의 동작이 표시됩니다.
감마 | 보간 전 동작 | 보간 동작 후 | GetColorInteroplationGamma(출력 색 공간) |
---|---|---|---|
1.0 | 입력을 고정한 다음 sRGB에서 scRGB로 변환합니다. | scRGB에서 sRGB 사후 보간으로 변환합니다. | 1.0 |
2.2 | 입력을 고정합니다. | 작업 없음 | 2.2 |
여기 표에는 Windows 8 이상에서의 동작이 표시됩니다.
감마 | 보간 전 동작 | 보간 동작 후 | GetColorInteroplationGamma(출력 색 공간) |
---|---|---|---|
sRGB에서 scRGB로 | 작업 없음 | 출력을 고정한 다음 sRGB에서 scRGB로 변환합니다. | 1.0 |
scRGB에서 sRGB로 | 작업 없음 | 출력을 고정한 다음 sRGB에서 scRGB로 변환합니다. | 2.2 |
sRGB에서 sRGB로 | 작업 없음 | 작업 없음 | 2.2 |
scRGB에서 scRGB로 | 작업 없음 | 작업 없음 | 1.0 |
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista용 Windows 8 및 플랫폼 업데이트 [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows Server 2008용 Windows Server 2012 및 플랫폼 업데이트 [데스크톱 앱 | UWP 앱] |
대상 플랫폼 | Windows |
헤더 | d2d1_1.h |
DLL | D2d1.dll |