IHPDFDecodedBitmapHandle 인터페이스

로드된 이미지 캐시, 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는 변경 가능한 픽셀이 필요한 API를 위해, 호출자가 소유하는 독립된 TBitmap을 반환합니다

관련 API

THotPDF.AcquireLoadedImageStream · THotPDF.AcquireLoadedImageRegionAtResolution · 샤딩된 로드 이미지 디코드 캐시