อินเทอร์เฟซ IHPDFDecodedBitmapHandle Interface
ให้การเข้าถึงพื้นที่เก็บภาพที่ถอดรหัสแล้วแบบไม่เปลี่ยนค่าและอ้างอิงด้วยการนับ ร่วมกันใช้โดยแคชภาพที่โหลด ผู้รอแบบ singleflight และตัวเรนเดอร์
การประกาศ
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;
ความเป็นเจ้าของ
อินเทอร์เฟซคงพื้นที่เก็บข้อมูลที่ถอดรหัสไว้โดยอิสระจากการไล่ออกจากแคช การทำให้แคชเป็นโมฆะ และการทำลายเอกสาร
การนับการอ้างอิงปลอดภัยต่อเธรด และ TBitmap ที่ใช้ร่วมกันและแก้ไขได้จะไม่ถูกเปิดเผยให้ผู้เรียก
การวาดและการคัดลอก
StretchDraw วาดจากพื้นที่เก็บข้อมูลแบบไม่เปลี่ยนค่าที่ใช้ร่วมกันโดยไม่สร้างบิตแมปที่ผู้เรียกเป็นเจ้าของ และจัดลำดับการเข้าถึงทรัพยากร GDI ฐาน
CreateBitmapCopy ส่งคืน TBitmap แบบแยกที่ผู้เรียกเป็นเจ้าของสำหรับ API ที่ต้องใช้พิกเซลที่แก้ไขได้
API ที่เกี่ยวข้อง
THotPDF.AcquireLoadedImageStream · THotPDF.AcquireLoadedImageRegionAtResolution · แคชการถอดรหัสภาพแบบแยกส่วน