THPDFViewerModel Snapshot Methods
Viewer 컨트롤을 만들지 않고 페이지 이미지를 만들며 로드된 페이지 렌더 캐시를 재사용합니다
선언
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;
JPEGQuality: Integer= 90): boolean;
사용 참고 사항
- 호출자는 반환된 각
TBitmap을 소유하며 해제해야 합니다 - DPI 값은 지원 범위인 12~2400으로 제한됩니다
- 생성 메서드는 잘못된 문서/페이지 상태에서
nil을 반환합니다 CreatePageThumbnail과CreateCurrentPageThumbnail은 요청 픽셀 바운드에 맞는 렌더 DPI를 고르고, 페이지 종횡비를 유지하고, 뷰 회전을 적용하며, 공급 한도보다 넓거나 높은 bitmap은 절대 반환하지 않습니다PrefetchPageSnapshots와PrefetchCurrentPageSnapshots는 중앙 페이지 창을 비동기로 워밍하고 예약 페이지 수를RenderCacheCapacity로 제한합니다- 프리페치 메서드는 예약된 페이지 수를 반환하고, 0 기반 페이지 인덱스를 쓰며, 이전 로드 페이지 프리페치 요청을 교체합니다
- 스냅샷 생성은 foreground 렌더 전에 활성 프리페치 작업을 선점하고, 문서 수준 프리페치 텔레메트리는 foreground 선점과 명시적 취소를 구분합니다
SaveCurrentPageSnapshotToBMP는 Windows BMP 출력을 기록하고 파일이 만들어졌는지 반환합니다THPDFViewerSnapshotFormat은vsfBMP,vsfJPEG,vsfPNG중 하나를 고릅니다- stream 출력은 stream의 현재 위치에서 시작하며 stream 소유권은 절대 가져가지 않습니다
- JPEG 품질은 1~100으로 제한됩니다
- 파일 출력은 저장이 실패하면 비어 있거나 부분 인코딩된 파일을 제거합니다