IHPDFDecodedBitmapHandle 介面
提供對已解碼影像儲存的不可變參考計數存取,該儲存由已載入影像快取、singleflight 等待者與轉譯器共用
宣告
IHPDFDecodedBitmapHandle = interface
function GetWidth: Integer;
function GetHeight: Integer;
function GetPixelFormat: TPixelFormat;
function GetByteSize: Int64;
function CreateBitmapCopy: TBitmap;
procedure StretchDraw(DestinationDC: HDC;
const Destination: TRect; StretchMode: Integer);
end;
所有權
此介面讓已解碼儲存獨立於快取逐出、快取失效與文件摧毀而保持存活
參考計數是執行緒安全的,共用的可變 TBitmap 絕不暴露給呼叫端
繪製與複製
StretchDraw 直接從不可變的共用儲存繪製,不必具現化呼叫端擁有的點陣圖,並會序列化對底層 GDI 資源的存取
CreateBitmapCopy 回傳由呼叫端擁有的隔離 TBitmap,供需要可變像素的 API 使用
相關 API
THotPDF.AcquireLoadedImageStream · THotPDF.AcquireLoadedImageRegionAtResolution · 分片已載入影像解碼快取