IHPDFDecodedBitmapHandle Interface

دسترسی immutable و مبتنی بر reference-counting به storage تصویر decode‌شده را فراهم می‌کند که cache تصاویر بارگذاری‌شده، singleflight waiterها و rendererها به اشتراک می‌گذارند

اعلان

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

interface، storage decode‌شده را مستقل از eviction در cache، باطل شدن cache و تخریب سند زنده نگه می‌دارد

reference counting thread-safe است و TBitmap قابل‌تغییر مشترک هرگز در اختیار فراخواننده‌ها قرار نمی‌گیرد

Drawing and copies

StretchDraw از storage مشترک immutable رسم می‌کند، بدون اینکه bitmap متعلق به فراخواننده را materialise کند، و دسترسی به منبع GDI زیرین را serialise می‌کند

CreateBitmapCopy یک TBitmap ایزوله برمی‌گرداند که مالک آن فراخواننده است، برای APIهایی که پیکسل‌های قابل‌تغییر لازم دارند

APIهای مرتبط

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