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