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