function SelectPdfImageCodec(const Candidate: TPdfImageCodecCandidate;
AllowedCodecs: TPdfImageCodecs; MinimumSavingBytes: Int64 = 1): TPdfImageCodecDecision;
| Candidate | TPdfImageCodecCandidate |
| AllowedCodecs | TPdfImageCodecs |
| MinimumSavingBytes | Int64 |
TPdfImageCodecDecisionSelectPdfImageCodec er en ren beslutningshjelper som sammenligner EncodedBytes-estimatene lagret på kandidaten og returnerer hvilken kodek som skal lagre bildet
Hver tillatt kodek kontrolleres først for kvalifisering: picJpeg krever ingen alfa, et ikke-bilevel-bilde, 8 biter per komponent, 1, 3 eller 4 komponenter og et ukjent eller over 256 antall unike farger; picJpx krever et ikke-bilevel-bilde med minst 8 biter per komponent og 1 til 4 komponenter; picCcittGroup4 krever et bilevel-bilde uten alfa, 1 bit per komponent og én enkelt komponent; picFlate godtater minst 1 bit per komponent og minst 1 komponent
Blant de kvalifiserte kodekene vinner den minste positive EncodedBytes-verdien, og beslutningen rapporterer OriginalBytes, SelectedBytes og SavedBytes
ReplaceOriginal er True bare når vinneren ikke er picKeepOriginal og SavedBytes når MinimumSavingBytes; ellers nullstilles beslutningen til picKeepOriginal med null lagrede byte
Decision := SelectPdfImageCodec(Candidate, [picJpeg, picJpx, picFlate], 1024);
if Decision.ReplaceOriginal then
ReEncode := Decision.Codec;