ComposeDeferredPageLayers
Page layout, Vector graphics, Content streams
คำอธิบาย
วางเลเยอร์เลื่อนเวลาที่เข้าคิวทุกชั้นลงหน้าเป้าหมายของมัน เรียงตาม z-index จากน้อยไปมากอย่างคงเส้นคงวา
ไวยากรณ์
Delphi
Function TPDFlib.ComposeDeferredPageLayers: Integer;ActiveX
Function PDFlib::ComposeDeferredPageLayers() As LongDLL
int DLComposeDeferredPageLayers(int InstanceID);ค่าที่ส่งคืน
คืนค่าจำนวนเลเยอร์ที่ถูกประกอบ หรือ 0 เมื่อไม่มีเลเยอร์เข้าคิว, การบันทึกยังใช้งานอยู่, หน้าที่เลือกอยู่ไม่ใช่หน้าเป้าหมาย, ขนาดของมันเปลี่ยนไป หรือ form ที่แคปเจอร์ไว้ใช้ไม่ได้
หมายเหตุ
เมธอดเรียงเลเยอร์ที่เข้าคิวตาม z-index กับลำดับการบันทึก
เลเยอร์ติดลบถูกแทรกก่อนสตรีมเนื้อหาเดิมของหน้าแบบเรียงจากน้อยไปมาก ส่วนเลเยอร์ศูนย์กับบวกถูกต่อท้ายสตรีมเนื้อหาเดิมแบบเรียงจากน้อยไปมากแต่ละเลเยอร์ที่ประกอบเพิ่มสตรีมเนื้อหาหนึ่งชุดที่มีการวาง Form XObject หนึ่งชิ้น ต้นทุนการประกอบจึงไม่โตตามจำนวนคำสั่งวาดในเลเยอร์
ฟอนต์ที่เลือก เลเยอร์เนื้อหาที่ใช้งานอยู่ สถานะ painter และการตั้งค่า kerning ถูกคืนค่าหลังประกอบเสร็จ
precondition ที่ล้มเหลวจะคงคิวไว้ให้ผู้เรียกเลือกหน้าเป้าหมายใหม่ได้ ส่วนความล้มเหลวหลังแตะหน้าแล้วจะล้างคิวทิ้งเพื่อกันการวางซ้ำ
ตัวอย่าง
PDF.BeginDeferredPageLayer(-10);
DrawBackground(PDF);
PDF.EndDeferredPageLayer;
PDF.BeginDeferredPageLayer(10);
DrawForeground(PDF);
PDF.EndDeferredPageLayer;
if PDF.ComposeDeferredPageLayers<> 2 then
HandleCompositionError;