IHPDFDecodedBitmapHandle-gränssnittet
Ger oföränderlig referensräknad åtkomst till avkodad bildlagring som delas av den inlästa-bild-cachen, singleflight-väntare och renderare
Deklaration
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;
Ägande
Gränssnittet håller avkodad lagring vid liv oberoende av cacheutkastning, cacheinvalidering och dokumentdestruktion
Referensräkning är trådsäker och den delade föränderliga TBitmap-en exponeras aldrig för anropare
Ritning och kopior
StretchDraw ritar från den oföränderliga delade lagringen utan att materialisera en anroparerägd bitmapp och serialiserar åtkomst till den underliggande GDI-resursen
CreateBitmapCopy returnerar en isolerad TBitmap som ägs av anroparen för API:er som kräver föränderliga pixlar
Relaterade API:er
THotPDF.AcquireLoadedImageStream · THotPDF.AcquireLoadedImageRegionAtResolution · Sharded Loaded-Image Decode Cache