共用方式為


列印 OpenGL 影像

您可以列印以增強型中繼檔呈現的 OpenGL 影像。 當您轉譯至印表機裝置 (HDC) 它必須由中繼檔多工緩衝處理器支援。 OpenGL 會使用記憶體進行深度、色彩和其他緩衝區,以將圖形輸出儲存至印表機。 由於一般印表機解析度需要大量的記憶體來儲存圖形輸出,因此列印 OpenGL 影像可能需要比系統中可用的記憶體還要多。 為了克服這項限制,OpenGL 的目前實作會在帶狀區中列印 OpenGL 圖形。 不過,這會增加列印 OpenGL 影像所需的時間。

列印 OpenGL 映射之前,您必須呼叫 StartDoc 函式,才能完成印表機裝置內容的初始化 (DC) 。 呼叫 StartDoc之後,您可以建立轉譯內容 (HGLRC) 轉譯至印表機裝置。 如果您在呼叫 StartDoc之前建立轉譯內容,則無法判斷中繼檔是否已多工緩衝處理。

下列程式碼範例示範如何列印 OpenGL 影像:

HDC            hDC;
DOCINFO        di;
HGLRC          hglrc;

// Call StartDoc to start the document 
StartDoc( hDC, &di );

// Prepare the printer driver to accept data 
StartPage(hDC);

// Create a rendering context using the metafile DC 
hglrc = wglCreateContext ( hDCmetafile );

// Do OpenGL rendering operations here 
    . . .
wglMakeCurrent(NULL, NULL); // Get rid of rendering context 
    . . .
EndPage(hDC); // Finish writing to the page 
EndDoc(hDC); // End the print job

如需使用中繼檔的詳細資訊,請參閱 增強型中繼檔作業