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 | 參數 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 |