Класс THPDFJBIG2Decoder

THPDFJBIG2Decoder = class
  constructor Create;
  function LoadFromByteArray(ImageData, GlobalData: TJBIG2ByteArray): Boolean; overload;
  function LoadFromByteArray(ImageData: TJBIG2ByteArray): Boolean; overload;
  function LoadRegionFromByteArray(ImageData, GlobalData: TJBIG2ByteArray;
    RegionLeft, RegionTop, RegionWidth, RegionHeight: Integer): Boolean; overload;
  function LoadRegionFromByteArray(ImageData: TJBIG2ByteArray;
    RegionLeft, RegionTop, RegionWidth, RegionHeight: Integer): Boolean; overload;
  function GetScanline(Row: Integer; var Data: TJBIG2ByteArray): Boolean;
  property Width: Integer read FWidth;
  property Height: Integer read FHeight;
  property ScanlineByteWidth: Integer read FScanlineByteWidth;
  property LastRegionDecodeStats: TJBIG2RegionDecodeStats read FLastRegionDecodeStats;
  property UsedIncrementalRegionDecode: Boolean read FUsedIncrementalRegionDecode;
  property LastSegmentGraphValidationInfo: TJBIG2SegmentGraphValidationInfo
    read FLastSegmentGraphValidationInfo;
end;

Декодирует данные изображений JBIG2, при необходимости с общими global data, и отдаёт результат в виде битмапов целой страницы или ограниченных окон областей

LoadFromByteArray декодирует страницу целиком, а LoadRegionFromByteArray декодирует только запрошенный прямоугольник и сообщает об инкрементальном пути через UsedIncrementalRegionDecode

GetScanline возвращает декодированные байты scanline построчно, а LastRegionDecodeStats вместе с LastSegmentGraphValidationInfo раскрывают статистику по каждому вызову и находки проверки графа сегментов

Поддержка сжатия JBIG2