IHPDFDecodedBitmapHandle Interface
Zapewnia niezmienny, zliczany referencyjnie dostęp do magazynu zdekodowanych obrazów współdzielonego przez cache załadowanych obrazów, oczekujących singleflight i mechanizmy renderujące
Deklaracja
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;
Własność
Interfejs utrzymuje magazyn zdekodowanych danych przy życiu niezależnie od eksmisji z cache, unieważnienia cache i zniszczenia dokumentu
Zliczanie referencji jest bezpieczne wątkowo, a współdzielony mutowalny TBitmap nigdy nie jest wystawiany wywołującym
Rysowanie i kopie
StretchDraw rysuje z niezmiennego magazynu współdzielonego bez materializowania bitmapy należącej do wywołującego i szereguje dostęp do leżącego pod spodem zasobu GDI
CreateBitmapCopy zwraca odizolowany TBitmap należący do wywołującego, dla API wymagających mutowalnych pikseli
Powiązane API
THotPDF.AcquireLoadedImageStream · THotPDF.AcquireLoadedImageRegionAtResolution · Shardowany cache dekodowania załadowanych obrazów