IXpsOMObjectFactory::CreateRadialGradientBrush 메서드(xpsobjectmodel.h)
IXpsOMRadialGradientBrush 인터페이스를 만듭니다.
구문
HRESULT CreateRadialGradientBrush(
[in] IXpsOMGradientStop *gradStop1,
[in] IXpsOMGradientStop *gradStop2,
[in] const XPS_POINT *centerPoint,
[in] const XPS_POINT *gradientOrigin,
[in] const XPS_SIZE *radiiSizes,
[out, retval] IXpsOMRadialGradientBrush **radialGradientBrush
);
매개 변수
[in] gradStop1
그라데이션 원점에서 그라데이션의 속성을 지정하는 IXpsOMGradientStop 인터페이스입니다. 이 매개 변수는 NULL이 아니어야 합니다.
[in] gradStop2
그라데이션 벡터의 끝에 있는 그라데이션의 속성을 지정하는 IXpsOMGradientStop 인터페이스로, 그라데이션 영역을 묶는 타원입니다. 이 매개 변수는 NULL이 아니어야 합니다.
[in] centerPoint
방사형 그라데이션 타원의 중심점 좌표입니다.
[in] gradientOrigin
방사형 그라데이션 원점의 좌표입니다.
[in] radiiSizes
멤버가 그라데이션 영역의 반지름 길이를 지정하는 XPS_SIZE 구조체입니다.
크기는 XPS 단위로 설명됩니다. 인치당 96개의 XPS 단위가 있습니다. 예를 들어 1" 반경은 96 XPS 단위입니다.
XPS_SIZE 멤버 | 의미 |
---|---|
width | x축을 따라 반경의 길이입니다. |
height(높이) | y축을 따라 반경의 길이입니다. |
[out, retval] radialGradientBrush
새 IXpsOMRadialGradientBrush 인터페이스에 대한 포인터입니다.
반환 값
이 메서드는 HRESULT를 반환합니다. 가능한 값은 다음 표에 있는 값을 포함하지만 이에 국한되지 않습니다. 이 표에 나열되지 않은 XPS 문서 API 반환 값에 대한 자세한 내용은 XPS 문서 오류를 참조하세요.
반환 코드 | Description |
---|---|
|
메서드가 성공했습니다. |
|
centerPoint, radiiSizes 또는 gradientOrigin에서 설명하는 점이 잘못되었습니다. XPS_POINT 구조체의 멤버는 유효하고 유한한 부동 소수점 값을 포함해야 합니다. |
|
gradStop1, gradStop2, centerPoint, gradientOrigin, radiiSizes 또는 radialGradientBrush 는 NULL입니다. |
|
gradStop1 또는 gradStop1 은 인식된 인터페이스 구현을 가리키지 않습니다. XPS 문서 API 인터페이스의 사용자 지정 구현은 지원되지 않습니다. |
설명
다음 그림과 같이 방사형 그라데이션의 그라데이션 영역은 중심점에서 설명하는 타원과 중심점에서 확장되는 x 및 y 반지름으로 묶인 영역입니다. 확산 영역은 타원 외부 영역입니다. 그라데이션 경로(표시되지 않음)는 그라데이션 원점과 그라데이션 영역을 경계로 하는 타원 사이에 그려지는 방사형 선입니다.

다음 코드 예제에서는 이 메서드를 사용하여 새 인터페이스를 만드는 방법을 보여 줍니다.
IXpsOMRadialGradientBrush *newInterface;
// The following values are defined outside of
// this example.
// IXpsOMGradientStop *gradStop1, *gradStop2;
// XPS_POINT centerPoint, gradientOrigin;
// XPS_SIZE radiiSizes;
// 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->CreateRadialGradientBrush (
gradStop1,
gradStop2,
¢erPoint,
&gradientOrigin,
&radiiSizes,
&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 |