IXpsOMObjectFactory::CreateGradientStop メソッド (xpsobjectmodel.h)
グラデーション内の単一の色と場所の定義を表す IXpsOMGradientStop インターフェイスを作成します。
構文
HRESULT CreateGradientStop(
[in] const XPS_COLOR *color,
[in] IXpsOMColorProfileResource *colorProfile,
[in] FLOAT offset,
[out, retval] IXpsOMGradientStop **gradientStop
);
パラメーター
[in] color
カラー値です。
[in] colorProfile
使用するカラー プロファイルを含む IXpsOMColorProfileResource インターフェイスへのポインター。 色の種類が XPS_COLOR_TYPE_CONTEXTされていない場合、このパラメーターは NULL である必要があります。
[in] offset
オフセットの値。
有効な範囲: 0.0 から 1.0
[out, retval] gradientStop
新しい IXpsOMGradientStop インターフェイスへのポインター。
戻り値
このメソッドは HRESULT を返します。 使用可能な値には、次の表に含まれる値が含まれますが、これらに限定されません。 この表に記載されていない XPS ドキュメント API の戻り値については、「 XPS ドキュメント エラー」を参照してください。
リターン コード | 説明 |
---|---|
|
メソッドが成功しました。 |
|
offset の値が無効です。 |
|
color または gradientStop が NULL です。 |
|
colorProfile は NULL ですが、カラー プロファイルが必要です。 色の種類が XPS_COLOR_TYPE_CONTEXT場合は、カラー プロファイルが必要です。 |
|
colorProfile は、認識されたインターフェイス実装を指していません。 XPS ドキュメント API インターフェイスのカスタム実装はサポートされていません。 |
|
colorProfile にはカラー プロファイルが含まれていますが、想定されていません。 カラー プロファイルは、色の種類が XPS_COLOR_TYPE_CONTEXTされている場合にのみ許可されます。 |
注釈
グラデーションの分岐点は、特定の場所で色を定義するために使用されます。グラデーションの分岐点の間に色が補間されます。 offset で指定されるオフセットは、グラデーションの始点と終点の間の相対位置です。 線形グラデーションの始点または放射状グラデーションの原点のオフセットは 0.0 です。 線形グラデーションの終点または放射状グラデーションの境界楕円のオフセットは 1.0 です。 グラデーションの分岐点は、始点と終点を含め、それらの点間の任意のオフセットに対して指定できます。 次の図は、線形グラデーションのグラデーションパスとグラデーションの分岐点を示しています。
次の図は、放射状グラデーションのグラデーションの分岐点を示しています。 この例では、放射状グラデーション領域は外側の楕円で囲まれた領域であり、グラデーション領域の外側の領域を塗りつぶすために XPS_SPREAD_METHOD_REFLECT スプレッドメソッドを使用します。 IXpsOMGradientStop インターフェイスは、グラデーション内の 1 つのストップのみを指定します。グラデーションのレンダリングに使用される計算については、「 XML Paper Specification」を参照してください。
次のコード例は、このメソッドを使用して新しいインターフェイスを作成する方法を示しています。
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 用プラットフォーム更新プログラム [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2008 R2、Windows Server 2008 SP2 および Windows Server 2008 用プラットフォーム更新プログラム [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | xpsobjectmodel.h |