IHPDFDecodedBitmapHandle Interface

読み込まれた画像キャッシュ、singleflight 待機者、およびレンダラで共有されるデコード済み画像ストレージへの、不変な参照カウント付きアクセスを提供します

Declaration

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;

Ownership

このインターフェースは、キャッシュの追い出し・キャッシュ無効化・ドキュメント破棄とは独立してデコード済みストレージを生存させます

参照カウントはスレッドセーフで、共有される可変な TBitmap が呼び出し元に公開されることはありません

Drawing and copies

StretchDraw は、呼び出し元が所有するビットマップを実体化せずに不変な共有ストレージから描画し、基盤となる GDI リソースへのアクセスを直列化します

CreateBitmapCopy は、変更可能なピクセルを必要とする API 向けに、呼び出し側が所有する独立した TBitmap を返します

Related APIs

THotPDF.AcquireLoadedImageStream · THotPDF.AcquireLoadedImageRegionAtResolution · Sharded Loaded-Image Decode Cache