次の方法で共有


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

こちらもご覧ください

IXpsOMGradientBrush

IXpsOMObjectFactory::CreateGradientStop

インターフェイス

XML Paper Specification