IHPDFDecodedBitmapHandle Interface

Надає незмінний доступ із підрахунком посилань до сховища декодованого зображення, спільного для кешу завантажених зображень, очікувачів singleflight і рендерерів

Оголошення

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;

Володіння

Інтерфейс утримує декодоване сховище незалежно від витіснення та інвалідації кешу й знищення документа

Підрахунок посилань є потокобезпечним, а спільний змінний TBitmap ніколи не надається викликаючому коду

Малювання та копії

StretchDraw малює з незмінного спільного сховища без матеріалізації власного для викликаючого коду растру й серіалізує доступ до базового ресурсу GDI

CreateBitmapCopy повертає ізольований TBitmap, що належить викликаючому коду, для API, яким потрібні змінні пікселі

Пов'язані API

THotPDF.AcquireLoadedImageStream · THotPDF.AcquireLoadedImageRegionAtResolution · Шардингований кеш декодування завантажених зображень