PDFium Delphi Component Docs

SelectPdfImageCodec функція

Unit: PDFium
Обирає найменший придатний перекодунок для одного зображення з виміряних розмірів кодеків

Syntax

function SelectPdfImageCodec(const Candidate: TPdfImageCodecCandidate;
  AllowedCodecs: TPdfImageCodecs; MinimumSavingBytes: Int64 = 1): TPdfImageCodecDecision;

Parameters

CandidateTPdfImageCodecCandidate
AllowedCodecsTPdfImageCodecs
MinimumSavingBytesInt64

Return Value

TPdfImageCodecDecision

Description

SelectPdfImageCodec — чистий помічник рішень, який порівнює оцінки EncodedBytes, записані на кандидаті, і повертає, яким кодеком слід зберегти зображення

Кожен дозволений кодек спершу перевіряється на придатність: picJpeg вимагає відсутності альфи, небілевого зображення, 8 бітів на компонент, 1, 3 чи 4 компонентів і невідомої або більшої ніж 256 кількості унікальних кольорів; picJpx вимагає небілевого зображення з щонайменше 8 бітами на компонент і від 1 до 4 компонентів; picCcittGroup4 вимагає білевого зображення без альфи, 1 біта на компонент і однієї компоненти; picFlate приймає щонайменше 1 біт на компонент і щонайменше 1 компоненту

Серед придатних кодеків перемагає найменший додатний EncodedBytes, а рішення повідомляє OriginalBytes, SelectedBytes і SavedBytes

ReplaceOriginal дорівнює True лише коли переможець не picKeepOriginal, а SavedBytes досягає MinimumSavingBytes; інакше рішення скидається до picKeepOriginal з нульовою економією байтів

Remarks

Example

Decision := SelectPdfImageCodec(Candidate, [picJpeg, picJpx, picFlate], 1024);
if Decision.ReplaceOriginal then
  ReEncode := Decision.Codec;

See Also

TPdf.OptimizeImages, BuildToUnicodeCMap, TPdf.ImageInfo