IXpsOMGradientStop 인터페이스(xpsobjectmodel.h)

그라데이션 내의 단일 색과 위치를 나타냅니다.

상속

IXpsOMGradientStop 인터페이스는 IUnknown 인터페이스에서 상속됩니다. IXpsOMGradientStop 에는 다음과 같은 유형의 멤버도 있습니다.

메서드

IXpsOMGradientStop 인터페이스에는 이러한 메서드가 있습니다.

 
IXpsOMGradientStop::Clone

IXpsOMGradientStop 인터페이스의 전체 복사본을 만듭니다.
IXpsOMGradientStop::GetColor

그라데이션 중지점의 색 값 및 색 프로필을 가져옵니다.
IXpsOMGradientStop::GetOffset

그라데이션 중지점의 오프셋 값을 가져옵니다.
IXpsOMGradientStop::GetOwner

그라데이션 중지점이 포함된 IXpsOMGradientBrush 인터페이스에 대한 포인터를 가져옵니다.
IXpsOMGradientStop::SetColor

그라데이션 중지점의 색 값과 색 프로필을 설정합니다.
IXpsOMGradientStop::SetOffset

그라데이션 중지점의 오프셋 위치를 설정합니다.

설명

그라데이션 중지점은 그라데이션 영역 내의 위치에 대해 정의된 특정 색입니다. 그라데이션의 색은 그라데이션의 그라데이션 중지점 간에 변경됩니다. 그라데이션의 영역 및 절대 위치는 그라데이션 인터페이스에 의해 정의됩니다. 오프셋은 그라데이션 영역 내의 상대 위치이며 0.0에서 1.0 사이로 측정됩니다. 오프셋 0.0은 그라데이션의 시작 부분이며 1.0은 끝입니다. 끝점을 포함하여 범위 내의 모든 오프셋에 대해 그라데이션 중지점을 정의할 수 있습니다. 이 인터페이스는 그라데이션에서 하나의 정지만 설명합니다.

그라데이션 경로는 선형 그라데이션의 시작점과 끝점을 연결하는 직선입니다. 선형 그라데이션의 그라데이션 영역은 시작점과 끝점 사이의 영역(해당 점 포함)으로 구성되며 그라데이션 경로까지 양방향으로 확장됩니다. 확산 영역은 그라데이션 영역 외부 영역입니다.

그라데이션 중지점은 그라데이션 경로를 따라 특정 위치에서 색을 정의합니다. 색은 그라데이션 정지 사이의 그라데이션 경로를 따라 보간됩니다. 다음 예제에서는 그라데이션 영역이 이미지를 채우므로 확산 영역이 없습니다.

선형 그라데이션 브러시에 사용되는 그라데이션 중지점의 경우 오프셋 값 0.0은 그라데이션 경로의 시작점에 해당하고 오프셋 값 1.0은 끝점에 해당합니다. 이러한 두 점 사이의 그라데이션 중지 위치를 확인하려면 중간 오프셋 값이 둘 사이에 보간됩니다. 다음 그림에서는 0.25 오프셋과 0.75의 오프셋에 하나씩 두 개의 중간 그라데이션 정지를 보여 줍니다.

선형 그라데이션에 사용되는 용어를 보여 주는 그림

방사형 그라데이션 브러시에 사용되는 그라데이션 중지점의 경우 오프셋 값 0.0은 그라데이션 원점 위치에 해당하고 오프셋 값 1.0은 그라데이션을 경계로 하는 타원의 둘레에 해당합니다. 0.0과 1.0 사이의 오프셋은 그라데이션 원점과 경계 타원 간에 보간되는 타원을 정의합니다. 다음 그림에는 오프셋 0.50(그라데이션 중지 1)에 중간 그라데이션 중지점이 하나 있습니다. 그라데이션은 XPS_SPREAD_METHOD_REFLECT 스프레드 메서드를 사용하여 그라데이션 영역 외부의 공간을 채웁니다.

방사형 그라데이션에 사용되는 용어를 보여 주는 그림 그라데이션을 렌더링하는 데 사용되는 계산은 XML 용지 사양에 설명되어 있습니다.

다음 코드 예제에서는 이 인터페이스의 instance 만드는 방법을 보여 줍니다.


IXpsOMGradientStop    *newInterface;
// The following values are defined outside of 
// this example.
//  XPS_COLOR                    color;
//  IXpsOMColorProfileResource    *colorProfile;
//  FLOAT                        offset;

// Note the implicit requirement that CoInitializeEx 
//  has previously been called from this thread.

hr = CoCreateInstance(
    __uuidof(XpsOMObjectFactory),
    NULL,
    CLSCTX_INPROC_SERVER,
    _uuidof(IXpsOMObjectFactory),
    reinterpret_cast<LPVOID*>(&xpsFactory)
    );

if (SUCCEEDED(hr))
{
    hr = xpsFactory->CreateGradientStop (
        &color,
        colorProfile,
        offset,
        &newInterface);

    if (SUCCEEDED(hr))
    {
        // use newInterface

        newInterface->Release();
    }
    xpsFactory->Release();
}
else
{
    // evaluate HRESULT error returned in hr
}

요구 사항

   
지원되는 최소 클라이언트 Windows 7, Windows Vista SP2 및 Windows Vista용 플랫폼 업데이트가 포함된 Windows Vista [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2008 R2, Windows Server 2008 SP2 및 Windows Server 2008용 플랫폼 업데이트 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 xpsobjectmodel.h

추가 정보

IXpsOMGradientBrush

IXpsOMObjectFactory::CreateGradientStop

인터페이스

XML Paper Specification