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 是结束。 可以为范围内的任何偏移量定义渐变停点,包括终点。 此接口描述渐变中的一个且唯一的一个光圈。

渐变路径是连接线性渐变起点和终点的直线。 线性渐变的渐变区域由起点和终点之间的区域(包括这些点)组成,并且以与渐变路径的直角向两个方向扩展。 传播区域是渐变区域之外的区域。

渐变停点定义沿渐变路径的特定位置的颜色;颜色沿渐变停止点之间的渐变路径内插。 在下面的示例中,渐变区域填充图像,因此没有分布区域。

对于线性渐变画笔中使用的渐变停止点,偏移值 0.0 对应于渐变路径的起点,偏移值 1.0 对应于终点。 为了确定这两个点之间的渐变停止点的位置,中间偏移值在它们之间进行内插。 下图显示了两个中间渐变停止点,一个偏移量为 0.25,另一个偏移量为 0.75。

显示线性渐变中使用的术语的图

对于径向渐变画笔中使用的渐变停点,偏移值 0.0 对应于渐变原点位置,偏移值 1.0 对应于边界渐变的椭圆的周长。 介于 0.0 和 1.0 之间的偏移量定义在渐变原点和边界椭圆之间内插的椭圆。 下图有一个中间渐变停止点,偏移量为 0.50 (渐变停止点 1) 。 渐变使用 XPS_SPREAD_METHOD_REFLECT 传播方法来填充渐变区域外部的空间。

显示径向渐变中使用的术语的图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 7、带 SP2 的 Windows Vista 和适用于 Windows Vista 的平台更新 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows Server 2008 R2、Windows Server 2008 SP2 和适用于 Windows Server 2008 的平台更新 [桌面应用 |UWP 应用]
目标平台 Windows
标头 xpsobjectmodel.h

另请参阅

IXpsOMGradientBrush

IXpsOMObjectFactory::CreateGradientStop

接口

XML 纸张规范