function SelectPdfImageCodec(const Candidate: TPdfImageCodecCandidate;
AllowedCodecs: TPdfImageCodecs; MinimumSavingBytes: Int64 = 1): TPdfImageCodecDecision;
| Candidate | TPdfImageCodecCandidate |
| AllowedCodecs | TPdfImageCodecs |
| MinimumSavingBytes | Int64 |
TPdfImageCodecDecisionSelectPdfImageCodec on puhdas päätösapuri, joka vertaa ehdokkaaseen tallennettuja EncodedBytes-arvioita ja palauttaa, mikä koodekki tallentaisi kuvan
Jokainen sallittu koodekki tarkistetaan ensin kelpaavuuden varalta: picJpeg vaatii alfan puuttumisen, ei-bilevel-kuvan, 8 bittiä komponenttia kohden, 1, 3 tai 4 komponenttia sekä tuntemattoman tai yli 256:n yksilöllisen värin määrän; picJpx vaatii ei-bilevel-kuvan, jossa on vähintään 8 bittiä komponenttia kohden ja 1–4 komponenttia; picCcittGroup4 vaatii bilevel-kuvan ilman alfaa, 1 bitin komponenttia kohden ja yhden komponentin; picFlate hyväksyy vähintään 1 bitin komponenttia kohden ja vähintään yhden komponentin
Kelpaavista koodekeista voittaa pienin positiivinen EncodedBytes-arvo, ja päätös raportoi arvot OriginalBytes, SelectedBytes ja SavedBytes
ReplaceOriginal on True vain, kun voittaja ei ole picKeepOriginal ja SavedBytes saavuttaa MinimumSavingBytes-rajan; muussa tapauksessa päätös nollataan arvoon picKeepOriginal ilman säästettyjä tavuja
Decision := SelectPdfImageCodec(Candidate, [picJpeg, picJpx, picFlate], 1024);
if Decision.ReplaceOriginal then
ReEncode := Decision.Codec;