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

IXpsOMPage 物件的指標,代表要呈現的 XPS 固定頁面。 此物件會封裝 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。 否則,方法會傳回錯誤碼。

可能的錯誤傳回值包括:

傳回碼 Description
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