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