THPDFJpegReducedDecoder
Декодирует закодированную область JPEG сразу в точный низкоразрешающий bitmap BGR24
Объявление
function LoadFromBytes(const Data: THPDFJpegByteArray;
const Region: TRect; TargetWidth, TargetHeight: Integer;
MaxOutputBytes: Int64 = 268435456): Boolean;
function Decode: THPDFJpegReducedDecodeStatus;
Использование
Decoder := THPDFJpegReducedDecoder.Create;
try
if Decoder.LoadFromBytes(Data, Rect(0, 0, 12000, 12000), 300, 300) and
(Decoder.Decode = jrdsCompleted) then
begin
Bitmap.Assign(Decoder.Bitmap);
Info := Decoder.Info;
end;
finally
Decoder.Free;
end;
Владение и ограничения
- Декодер копирует входные закодированные данные и владеет bitmap, который отдаёт через
Bitmap - Возвращённый bitmap остаётся валидным, пока декодер не загрузят заново или не уничтожат
MaxOutputBytesограничивает целевой bitmap; ноль отключает этот явный лимитOnCancellationCheckвызывается из цикла по строкам развёрткиInfoвыдаёт масштабированную геометрию и оценки рабочей памяти, полученные от декодера
Связанные API
THPDFJpegReducedDecodeInfo · THPDFJpegReducedDecodeStatus · Декодирование JPEG с пониженным DCT