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 | 参数 xpsPage 或 ppIXPSRasterizer 为 NULL |
E_INVALIDARG | 参数 nonTextRenderingMode 或 textRenderingMode 不是有效的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 |