ComposeDeferredPageLayers

页面布局、矢量图形、内容流

描述

以稳定的升序 z 索引顺序将每个排队的延迟层放置到其目标页面

语法

Delphi

Function TPDFlib.ComposeDeferredPageLayers: Integer;

ActiveX

Function PDFlib::ComposeDeferredPageLayers() As Long

DLL

int DLComposeDeferredPageLayers(int InstanceID);

返回值

返回已合成图层的数量;未排队图层、录制仍在进行、所选页面不是目标页面、其尺寸已改变或捕获的表单不可用时返回 0

备注

该方法按 z-index 和记录顺序对排队图层排序

负图层按升序插入页面原始内容流之前,零和正图层按升序附加到原始内容流之后

每个合成图层都会添加一个内容流,其中包含一个 Form XObject 放置,因此合成成本与图层内绘制操作数量无关

合成后会恢复所选字体、活动内容层、绘制器状态和字距调整设置

前置条件失败时会保留队列,调用方可重新选择目标页面;页面变更后的失败会清除队列,以防重复放置

示例

PDF.BeginDeferredPageLayer(-10);
DrawBackground(PDF);
PDF.EndDeferredPageLayer;

PDF.BeginDeferredPageLayer(10);
DrawForeground(PDF);
PDF.EndDeferredPageLayer;

if PDF.ComposeDeferredPageLayers<> 2 then
  HandleCompositionError;