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 は終点です。 グラデーションの終点は、範囲内の任意のオフセット (終点を含む) に対して定義できます。 このインターフェイスは、グラデーション内の 1 つのストップのみを記述します。
グラデーション パスは、線形グラデーションの始点と終点を結ぶ直線です。 線形グラデーションのグラデーション領域は、始点と終点の間の領域 (それらの点を含む) で構成され、グラデーション パスに対して直角に双方向に延びています。 広がり領域は、グラデーション領域の外側の領域です。
グラデーションの停止は、グラデーション パスに沿って特定の場所で色を定義します。グラデーションの分岐点の間のグラデーション パスに沿って色が補間されます。 次の例では、グラデーション領域が画像に塗りつぶされるため、広がり領域はありません。
線形グラデーション ブラシで使用されるグラデーション位置の場合、オフセット値 0.0 はグラデーション パスの始点に対応し、オフセット値 1.0 は終点に対応します。 これら 2 つのポイント間のグラデーションの位置を決定するために、中間オフセット値がそれらの間で補間されます。 次の図は、2 つの中間グラデーションの分岐点を示しています。1 つはオフセット 0.25、もう 1 つは 0.75 です。
放射状グラデーション ブラシで使用されるグラデーション位置の場合、オフセット値 0.0 はグラデーションの原点の位置に対応し、オフセット値 1.0 はグラデーションを境界とする楕円の円周に対応します。 0.0 ~ 1.0 のオフセットは、グラデーションの原点と境界楕円の間に補間される楕円を定義します。 次の図は、0.50 (グラデーションの停止 1) のオフセットで 1 つの中間グラデーションの停止点を持っています。 グラデーションは、グラデーション領域の外側の領域を塗りつぶすために 、XPS_SPREAD_METHOD_REFLECT スプレッド メソッドを使用しています。
グラデーションのレンダリングに使用される計算については、「 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 |