Rozhraní IHPDFDecodedBitmapHandle
Poskytuje neměnný přístup počítaný referencemi k dekódovanému úložišti obrázku sdílenému mezipamětí načtených obrázků, čekajícími singleflight a vykreslovači
Deklarace
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;
Vlastnictví
Rozhraní udržuje dekódované úložiště naživu nezávisle na vyřazení z mezipaměti, zneplatnění mezipaměti a zničení dokumentu
Referenční počítání je bezpečné pro vlákna a sdílený měnitelný TBitmap se volajícím nikdy nezpřístupňuje
Kreslení a kopie
StretchDraw kreslí z neměnného sdíleného úložiště bez materializace bitmapy ve vlastnictví volajícího a serializuje přístup k podléhajícímu prostředku GDI
CreateBitmapCopy vrátí izolovaný TBitmap ve vlastnictví volajícího pro API, která vyžadují měnitelné pixely
Související API
THotPDF.AcquireLoadedImageStream · THotPDF.AcquireLoadedImageRegionAtResolution · Shardingovaná mezipaměť dekódování načtených obrázků