THPDFViewerModel Snapshot Methods
สร้างรูปหน้าเอกสารโดยไม่ต้องสร้าง control Viewer และใช้ render cache ของหน้าที่โหลดซ้ำ
การประกาศ
function CreatePageSnapshot(PageIndex: Integer; DPI: Integer= 150): TBitmap;
function CreateCurrentPageSnapshot(DPI: Integer= 150): TBitmap;
function CreatePageThumbnail(PageIndex, MaxWidth, MaxHeight: Integer): TBitmap;
function CreateCurrentPageThumbnail(MaxWidth, MaxHeight: Integer): TBitmap;
function PrefetchPageSnapshots(PageIndex, Radius: Integer;
DPI: Integer= 150): Integer;
function PrefetchCurrentPageSnapshots(Radius: Integer= 1;
DPI: Integer= 150): Integer;
function SaveCurrentPageSnapshotToBMP(const FileName: string; DPI: Integer= 150): boolean;
function SaveCurrentPageSnapshotToStream(Stream: TStream;
ImageFormat: THPDFViewerSnapshotFormat; DPI: Integer= 150;
JPEGQuality: Integer= 90): boolean;
function SaveCurrentPageSnapshot(const FileName: string;
ImageFormat: THPDFViewerSnapshotFormat; DPI: Integer= 150;
function SaveCurrentPageSnapshotToBMP(const FileName: string; DPI: Integer= 150): boolean;
การใช้งาน
- ผู้เรียกเป็นเจ้าของ
TBitmapที่คืนมาแต่ละตัว และต้อง free เอง - ค่า DPI ถูก clamp ไว้ในช่วงที่รองรับ 12 ถึง 2400
- เมื่อสถานะเอกสารหรือหน้าไม่ถูกต้อง method สร้างจะคืน
nil CreatePageThumbnailกับCreateCurrentPageThumbnailเลือก DPI เรนเดอร์ที่พอดีกับ bounds พิกเซลที่ขอ, คงสัดส่วนหน้าไว้, apply การหมุนมุมมอง และไม่เคยคืน bitmap ที่กว้างหรือสูงเกินขีดที่ให้มาPrefetchPageSnapshotsกับPrefetchCurrentPageSnapshotsอุ่น window หน้าแบบกึ่งกลางแบบ asynchronous และกั้นจำนวนหน้าที่จัดคิวไว้ที่RenderCacheCapacity- method prefetch คืนจำนวนหน้าที่จัดคิว, ใช้ index หน้าที่นับจากศูนย์ และแทนคำขอ prefetch หน้าที่โหลดไว้ก่อนหน้านั้น
- การสร้าง snapshot จะ preempt งาน prefetch ที่กำลังทำอยู่ก่อนการเรนเดอร์ที่ foreground ขณะที่ telemetry prefetch ระดับเอกสารแยกการถูก preempt โดย foreground ออกจากการยกเลิกแบบชัดเจน
SaveCurrentPageSnapshotToBMPเขียนเอาต์พุต Windows BMP และคืนค่าว่าไฟล์ถูกสร้างหรือไม่THPDFViewerSnapshotFormatเลือกได้vsfBMP,vsfJPEGหรือvsfPNG- เอาต์พุต stream เริ่มที่ตำแหน่งปัจจุบันของ stream และไม่เคยรับเป็นเจ้าของ stream
- คุณภาพ JPEG ถูก clamp ไว้ระหว่าง 1 ถึง 100
- เอาต์พุตไฟล์ลบไฟล์ที่ว่างหรือเข้ารหัสบางส่วนทิ้ง เมื่อการบันทึกล้ม