IHPDFDecodedBitmapHandle-Schnittstelle

Stellt unveränderlichen referenzgezählten Zugriff auf dekodierten Bildspeicher bereit, den der Cache geladener Bilder, wartende Einzelaufrufe und Renderer gemeinsam verwenden

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;

Besitz

Die Schnittstelle hält dekodierten Speicher unabhängig von Cache-Verdrängung, Cache-Invalidierung und Dokumentzerstörung am Leben

Die Referenzzählung ist threadsicher und die gemeinsam genutzte veränderliche TBitmap wird Aufrufern nie offengelegt

Zeichnen und Kopien

StretchDraw zeichnet aus dem unveränderlichen gemeinsamen Speicher, ohne eine aufruferbesessene Bitmap zu materialisieren, und serialisiert den Zugriff auf die zugrunde liegende GDI-Ressource

CreateBitmapCopy gibt eine isolierte TBitmap zurück, die dem Aufrufer gehört, für APIs mit veränderlichen Pixeln

Verwandte APIs

THotPDF.AcquireLoadedImageStream · THotPDF.AcquireLoadedImageRegionAtResolution · Sharded Cache zur Dekodierung geladener Bilder