IHPDFDecodedBitmapHandle Interface
Poskytuje nemenný prístup s počítaním referencií k úložisku dekódovaných obrázkov zdieľanému vyrovnávacou pamäťou načítaných obrázkov, čakajúcimi singleflight a vykresľovačmi
Deklarácia
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;
Vlastníctvo
Rozhranie udržiava dekódované úložisko nažive nezávisle od vyradenia vyrovnávacej pamäte, zneplatnenia vyrovnávacej pamäte a zničenia dokumentu
Počítanie referencií je bezpečné pre vlákna a zdieľaný meniteľný TBitmap sa nikdy nevystavuje volajúcim
Kreslenie a kópie
StretchDraw kreslí z nemenného zdieľaného úložiska bez materializácie bitmapy vlastnenej volajúcim a serializuje prístup k podkladovému zdroju GDI
CreateBitmapCopy vracia izolovaný TBitmap vlastnený volajúcim pre API, ktoré vyžadujú meniteľné pixely
Súvisiace API
THotPDF.AcquireLoadedImageStream · THotPDF.AcquireLoadedImageRegionAtResolution · Sharded Loaded-Image Decode Cache