IXpsOMObjectFactory::CreateVisualBrush 方法 (xpsobjectmodel.h)

创建 IXpsOMVisualBrush 接口,该接口是使用可视对象的 IXpsOMTileBrush

语法

HRESULT CreateVisualBrush(
  [in]          const XPS_RECT    *viewBox,
  [in]          const XPS_RECT    *viewPort,
  [out, retval] IXpsOMVisualBrush **visualBrush
);

参数

[in] viewBox

XPS_RECT结构,用于指定要在画笔中使用的源图像的区域。 此参数不得为 NULL

[in] viewPort

指定磁贴的目标几何区域的 XPS_RECT 结构。 此参数不得为 NULL

[out, retval] visualBrush

指向新 IXpsOMVisualBrush 接口的 指针。

返回值

该方法返回 HRESULT。 可能的值包括但不限于下表中的值。 有关此表中未列出的 XPS 文档 API 返回值的信息,请参阅 XPS 文档错误

返回代码 说明
S_OK
方法成功。
E_POINTER
viewBoxviewPortvisualBrushNULL
E_INVALIDARG
viewBoxviewPort 包含无效的矩形或值。

注解

下面的代码示例演示了如何使用此方法创建新接口。


IXpsOMVisualBrush        *newInterface;

// 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->CreateVisualBrush (
        &viewBox,
        &viewPort,
        &newInterface);

    if (SUCCEEDED(hr))
    {
        // assign visual using one of the following:
        newInterface->SetVisualLocal (localVisual);
        // or
        newInterface->SetVisualLookup (visualLookupKey);
        // use newInterface

        newInterface->Release();
    }
    xpsFactory->Release();
}
else
{
    // evaluate HRESULT error returned in hr
}
// use newInterface

newInterface->Release();
xpsFactory->Release();


要求

要求
最低受支持的客户端 Windows 7、带 SP2 的 Windows Vista 和适用于 Windows Vista 的平台更新 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows Server 2008 R2、Windows Server 2008 SP2 和适用于 Windows Server 2008 的平台更新 [桌面应用 |UWP 应用]
目标平台 Windows
标头 xpsobjectmodel.h

另请参阅

IXpsOMObjectFactory

IXpsOMVisualBrush

XML 纸张规范

XPS 文档错误