ComposeDeferredPageLayers
頁面版面、向量圖形、內容串流
描述
以穩定的 z-index 升序,把每個排隊中的延遲圖層放到其目標頁面上
語法
Delphi
Function TPDFlib.ComposeDeferredPageLayers: Integer;ActiveX
Function PDFlib::ComposeDeferredPageLayers() As LongDLL
int DLComposeDeferredPageLayers(int InstanceID);傳回值
傳回已合成的圖層數量;沒有圖層排隊、仍在錄製、所選頁面不是目標頁面、其尺寸已變更,或擷取的 form 無法取得時傳回 0
備註
此方法依 z-index 與記錄順序排序排入佇列的圖層
負值圖層按升序插入頁面原始內容串流之前,零與正值圖層按升序附加在原始內容串流之後
每個合成圖層加入一條內容串流,其中包含一次 Form XObject 放置,使合成成本與圖層內繪圖運算的數量無關
合成完成後會還原所選字型、作用中內容圖層、繪圖器狀態與 kerning 設定
前置條件失敗時保留佇列,讓呼叫者可以重新選擇目標頁面;頁面已被修改後的失敗則清空佇列,避免重複放置
範例
PDF.BeginDeferredPageLayer(-10);
DrawBackground(PDF);
PDF.EndDeferredPageLayer;
PDF.BeginDeferredPageLayer(10);
DrawForeground(PDF);
PDF.EndDeferredPageLayer;
if PDF.ComposeDeferredPageLayers<> 2 then
HandleCompositionError;