共用方式為


IXpsOMObjectFactory::CreateLinearGradientBrush 方法 (xpsobjectmodel.h)

建立 IXpsOMLinearGradientBrush 介面。

語法

HRESULT CreateLinearGradientBrush(
  [in]          IXpsOMGradientStop        *gradStop1,
  [in]          IXpsOMGradientStop        *gradStop2,
  [in]          const XPS_POINT           *startPoint,
  [in]          const XPS_POINT           *endPoint,
  [out, retval] IXpsOMLinearGradientBrush **linearGradientBrush
);

參數

[in] gradStop1

IXpsOMGradientStop 介面,指定漸層向量開頭的漸層屬性。 此參數不得為 NULL

[in] gradStop2

IXpsOMGradientStop 介面,指定漸層向量結尾的漸層屬性。 此參數不得為 NULL

[in] startPoint

包含二維空間中起點座標的 XPS_POINT 結構。

[in] endPoint

包含二維空間中端點座標的 XPS_POINT 結構。

[out, retval] linearGradientBrush

IXpsOMLinearGradientBrush 介面的指標。

傳回值

方法會傳回 HRESULT。 可能的值包括但不限於下列數據表中的值。 如需此表格中未列出的 XPS 檔 API 傳回值的相關信息,請參閱 XPS 檔錯誤

傳回碼 描述
S_OK
此方法已成功。
E_INVALIDARG
startPointendPoint 指定的點無效。 XPS_POINT 結構的成員必須包含有效和有限的浮點值。
E_POINTER
gradStop1gradStop2startPointfigurelinearGradientBrushNULL
XPS_E_NO_CUSTOM_OBJECTS
gradStop1gradStop1 不會指向已辨識的介面實作。 不支援 XPS 檔 API 介面的自定義實作。

備註

線性漸層的漸層區域是和之間的區域,包括起點和終點,並以右角向漸層路徑的雙向延伸。 散布區域是位於漸層區域外部的幾何區域。

漸層停駐點會在漸層路徑的特定位置定義色彩。 在圖例中,由 gradStop1 參數指定的漸層停駐點 0 位於漸層路徑的起點,而 gradStop2 參數所指定的漸層停駐點 1 位於結束點。

如下圖所示,線性漸層的起點和終點也是漸層路徑的起點和終點,也就是連接這些點的直線。

此圖顯示線性漸層中使用的詞彙 下列程式代碼範例說明如何使用此方法來建立新的介面。

IXpsOMLinearGradientBrush    *newInterface;
// The following values are defined outside of 
// this example.
//  IXpsOMGradientStop       *gradStop1, *gradStop2;
//  XPS_POINT                startPoint, endPoint;

// 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->CreateLinearGradientBrush (
        gradStop1,
        gradStop2,
        &startPoint,
        &endPoint,
        &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

另請參閱

IXpsOMGradientStop

IXpsOMLinearGradientBrush

IXpsOMObjectFactory

XML Paper Specification

XPS 檔案錯誤

XPS_POINT