共用方式為


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 檔錯誤

傳回碼 描述
S_OK
此方法已成功。
E_INVALIDARG
位移中的值無效。
E_POINTER
colorgradientStopNull
XPS_E_MISSING_COLORPROFILE
colorProfileNull ,但預期會有色彩設定檔。 當色彩類型 XPS_COLOR_TYPE_CONTEXT時,需要色彩設定檔。
XPS_E_NO_CUSTOM_OBJECTS
colorProfile 不會指向已辨識的介面實作。 不支援 XPS 檔 API 介面的自訂實作。
XPS_E_UNEXPECTED_COLORPROFILE
colorProfile 包含色彩設定檔,但並非預期。 只有在色彩類型 XPS_COLOR_TYPE_CONTEXT時,才允許色彩設定檔。

備註

漸層停駐點可用來定義特定位置的色彩;漸層停駐點之間的色彩會插補。 位 移是由位移所指定的位移,是漸層起點與終點之間的相對位置。 線性漸層的起點或星形漸層原點的位移為 0.0。 線性漸層或星形漸層周框橢圓形的終點位移為 1.0。 您可以針對這些點之間的任何位移指定漸層停駐點,包括起點和終點。 下圖顯示線性漸層的漸層路徑和漸層停駐點。

顯示線性漸層中使用的詞彙的圖表 下圖顯示星形漸層的漸層停駐點。 在此範例中,星形漸層區域是由外部橢圓形所括住的區域,而 XPS_SPREAD_METHOD_REFLECT 散佈方法則用來填滿漸層區域以外的空間。 顯示星形漸層中使用的詞彙的圖表IXpsOMGradientStop介面會指定漸層中的一個和唯一停止點。

用來轉譯漸層的計算會在 XML 紙張規格中描述。

下列程式碼範例說明如何使用這個方法來建立新的介面。


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 Vista 的 Windows 7、Windows Vista SP2 和平臺更新 [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows Server 2008 R2、Windows Server 2008 SP2 和 Platform Update for Windows Server 2008 [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 xpsobjectmodel.h

另請參閱

IXpsOMColorProfileResource

IXpsOMGradientStop

IXpsOMObjectFactory

XML Paper Specification

XPS 檔錯誤

XPS_COLOR