IXpsOMObjectFactory::CreateRadialGradientBrush 方法 (xpsobjectmodel.h)
建立 IXpsOMRadialGradientBrush 介面。
語法
HRESULT CreateRadialGradientBrush(
[in] IXpsOMGradientStop *gradStop1,
[in] IXpsOMGradientStop *gradStop2,
[in] const XPS_POINT *centerPoint,
[in] const XPS_POINT *gradientOrigin,
[in] const XPS_SIZE *radiiSizes,
[out, retval] IXpsOMRadialGradientBrush **radialGradientBrush
);
參數
[in] gradStop1
IXpsOMGradientStop 介面,指定漸層原點漸層的屬性。 此參數不得為 NULL。
[in] gradStop2
IXpsOMGradientStop 介面,指定漸層向量結尾之漸層的屬性,也就是括住漸層區域的省略號。 此參數不得為 NULL。
[in] centerPoint
星形漸層橢圓形中心點的座標。
[in] gradientOrigin
星形漸層原點的座標。
[in] radiiSizes
XPS_SIZE 結構,其成員指定漸層區域的弧度長度。
大小是以 XPS 單位描述。 每英吋有96個 XPS 單位。 例如,1 英吋半徑是96 XPS單位。
XPS_SIZE 成員 | 意義 |
---|---|
width (寬度) | 沿著 x 軸的半徑長度。 |
height (高度) | 沿著Y軸的半徑長度。 |
[out, retval] radialGradientBrush
新 IXpsOMRadialGradientBrush 介面的指標。
傳回值
方法會傳回 HRESULT。 可能的值包括下列數據表中的值,但不限於這些值。 如需此表格中未列出的 XPS 檔 API 傳回值的相關信息,請參閱 XPS 檔錯誤。
傳回碼 | 描述 |
---|---|
|
此方法已成功。 |
|
centerPoint、radiiSizes 或 gradientOrigin 所描述的點無效。 XPS_POINT 結構的成員必須包含有效和有限的浮點值。 |
|
gradStop1、 gradStop2、 centerPoint、 gradientOrigin、 radiiSizes 或 radialGradientBrush 為 NULL。 |
|
gradStop1 或 gradStop1 不會指向已辨識的介面實作。 不支援 XPS 檔 API 介面的自定義實作。 |
備註
如下圖所示,星形漸層的漸層區域是由中心點所描述的橢圓形所括住的區域,以及從中心點延伸的 x 和 y 弧度。 散布區域是該省略號以外的區域。 漸層路徑 (未顯示) 是漸層原點與系結漸層區域的橢圓形之間繪製的星形線。
針對星形漸層筆刷, gradStop1 參數所設定的漸層停駐點會對應至漸層原點和 0.0 的位移值。 gradStop2 參數所設定的漸層停駐點會對應至漸層區域的周周和 1.0 的位移值。 如需漸層停駐點的詳細資訊,請參閱 IXpsOMGradientStop。下列程式代碼範例說明如何使用這個方法來建立新的介面。
IXpsOMRadialGradientBrush *newInterface;
// The following values are defined outside of
// this example.
// IXpsOMGradientStop *gradStop1, *gradStop2;
// XPS_POINT centerPoint, gradientOrigin;
// XPS_SIZE radiiSizes;
// 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->CreateRadialGradientBrush (
gradStop1,
gradStop2,
¢erPoint,
&gradientOrigin,
&radiiSizes,
&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 |