IHPDFDecodedBitmapHandle Interface

Fornece acesso imutável, com contagem de referências, ao armazenamento de imagens descodificadas partilhado pela cache de imagens carregadas, pelos singleflight waiters e pelos renderers

Declaração

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;

Propriedade

A interface mantém o armazenamento descodificado vivo independentemente da remoção da cache, da invalidação da cache e da destruição do documento

A contagem de referências é thread-safe e o TBitmap mutável partilhado nunca é exposto a quem chama

Drawing and copies

StretchDraw desenha a partir do armazenamento partilhado imutável, sem materializar um bitmap pertencente a quem chama, e serializa o acesso ao recurso GDI subjacente

CreateBitmapCopy devolve um TBitmap isolado, pertencente ao chamador, para as APIs que exigem píxeis modificáveis

APIs relacionadas

THotPDF.AcquireLoadedImageStream · THotPDF.AcquireLoadedImageRegionAtResolution · Cache de descodificação de imagens carregadas em partições