IHPDFDecodedBitmapHandle Interface
Дава неизменяем reference-counted достъп до хранилището на декодирани изображения, споделяно от кеша на заредени image-и, singleflight чакащите и renderer-ите
Декларация
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;
Собственост
Интерфейсът държи декодираното хранилище живо независимо от изхвърляне от кеша, инвалидиране на кеша и унищожаване на документа
Броячът на референции е thread-safe, а споделеният променлив TBitmap никога не се излага на извикващите
Рисуване и копия
StretchDraw рисува от неизменяемото споделено хранилище, без да материализира bitmap, притежаван от извикващия, и сериализира достъпа до долния GDI ресурс
CreateBitmapCopy връща изолиран TBitmap, притежаван от извикващия, за API-и, които изискват променливи пиксели
Свързани API
THotPDF.AcquireLoadedImageStream · THotPDF.AcquireLoadedImageRegionAtResolution · Шардиран кеш за декодиране на заредени image-и