IXpsRasterizationFactory::CreateRasterizer 方法 (xpsrassvc.h)

CreateRasterize 方法创建 XPS 光栅器对象。

语法

HRESULT CreateRasterizer(
  [in, optional]  IXpsOMPage            *xpsPage,
  [in]            FLOAT                 DPI,
  [in]            XPSRAS_RENDERING_MODE nonTextRenderingMode,
  [in]            XPSRAS_RENDERING_MODE textRenderingMode,
  [out, optional] IXpsRasterizer        **ppIXPSRasterizer
);

参数

[in, optional] xpsPage

指向表示要呈现的 XPS 固定页的 IXpsOMPage 对象的指针。 此对象封装 XPS 文档中的 FixedPage 节。 有关详细信息,请参阅 IXpsOMPage

[in] DPI

光栅化输出中的每英寸点数。 此参数同时适用于输出位图的 x 和 y 维度。 DPI 值是用于打印或显示 XPS 固定页的设备分辨率。

[in] nonTextRenderingMode

光栅化输出中非文本项的呈现模式。 此参数指示是否生成抗锯齿输出。 将此参数设置为以下 XPSRAS_RENDERING_MODE 枚举值之一:

  • XPSRAS_RENDERING_MODE_ANTIALIASED

  • XPSRAS_RENDERING_MODE_ALIASED

[in] textRenderingMode

光栅化输出中文本的呈现模式。 此参数指示是否生成抗锯齿输出。 将此参数设置为以下XPSRAS_RENDERING_MODE枚举值之一:

  • XPSRAS_RENDERING_MODE_ANTIALIASED

  • XPSRAS_RENDERING_MODE_ALIASED

[out, optional] ppIXPSRasterizer

此参数指向方法在其中写入指向新创建的 XPS 光栅 器对象的 IXpsRasterizer 接口的指针的位置。 如果方法失败,它会将 NULL 写入此位置并返回错误代码。

返回值

如果调用成功,CreateRasterizer 将返回S_OK。 否则,该方法将返回错误代码。

可能的错误返回值包括:

返回代码 说明
E_POINTER 参数 xpsPageppIXPSRasterizerNULL
E_INVALIDARG 参数 nonTextRenderingModetextRenderingMode 不是有效的XPSRAS_RENDERING_MODE枚举值。
E_OUTOFMEMORY 内存不足

注解

Windows 7 及更高版本支持此方法。

通常,XPS 管道中的 XPSDrv 筛选器调用此方法以获取 XPS 光栅器。 然后,它使用光栅器对参数 xpsPage 指向的对象封装的 XPS 固定页进行光栅化。

参数 DPI 指定打印机分辨率,假定其水平和垂直尺寸相同。 XPS 固定页的宽度和高度(可从 IXpsOMPage::GetPageDimensions 方法获取)以 1/96 英寸单位表示。 将这些宽度和高度值乘以 DPI/96,以确定光栅化页面的宽度和高度(以像素为单位)。 有关 IXpsOMPage::GetPageDimensions 的详细信息,请参阅 IXpsOMPage。 有关 XPS 光栅器对象如何使用 DPI 值的详细信息,请参阅 IXpsRasterizer::RasterizeRect

如果成功,该方法将创建 XPS 光栅器对象,并将对对象的 IXpsRasterizer 接口的计数引用传递给调用方。 当不再需要对象时,调用方负责通过在对象的 IXpsRasterizer 接口上调用 Release 方法来释放对象。

如果方法失败并且 ppIXPSRasterizer 为非 NULL,则方法将设置 *ppIXPSRasterizer = NULL

有关调用 CreateRasterizer 方法的代码示例,请参阅 WDK 中的 XPSRasFilter 示例。 此示例位于 WDK 安装的 Src\Print\Xpsrasfilter 文件夹中。

要求

要求
最低受支持的客户端 适用于 Windows 7 及更高版本的 Windows 操作系统。
目标平台 桌面
标头 xpsrassvc.h

另请参阅

IXpsRasterizationFactory

IXpsRasterizer

IXpsRasterizer::RasterizeRect

XPSRAS_RENDERING_MODE