function SelectPdfImageCodec(const Candidate: TPdfImageCodecCandidate;
AllowedCodecs: TPdfImageCodecs; MinimumSavingBytes: Int64 = 1): TPdfImageCodecDecision;
| Candidate | TPdfImageCodecCandidate |
| AllowedCodecs | TPdfImageCodecs |
| MinimumSavingBytes | Int64 |
TPdfImageCodecDecisionSelectPdfImageCodec je čist pomočnik za odločanje, ki primerja ocene EncodedBytes, zabeležene na kandidatu, in vrne, kateri kodek naj shrani sliko
Vsak dovoljen kodek se najprej preveri za upravičenost: picJpeg zahteva sliko brez alfe, ki ni bilevelska, z 8 biti na komponento, z 1, 3 ali 4 komponentami in z neznanim ali večjim od 256 številom edinstvenih barv; picJpx zahteva sliko, ki ni bilevelska, z vsaj 8 biti na komponento in 1 do 4 komponentami; picCcittGroup4 zahteva bilevelsko sliko brez alfe, 1 bit na komponento in eno komponento; picFlate sprejme vsaj 1 bit na komponento in vsaj 1 komponento
Med upravičenimi kodeki zmaguje najmanjša pozitivna vrednost EncodedBytes, odločitev pa poroča OriginalBytes, SelectedBytes in SavedBytes
ReplaceOriginal je True samo, ko zmagovalni kodek ni picKeepOriginal in SavedBytes doseže MinimumSavingBytes; sicer se odločitev ponastavi na picKeepOriginal z nič prihranjenimi bajti
Decision := SelectPdfImageCodec(Candidate, [picJpeg, picJpx, picFlate], 1024);
if Decision.ReplaceOriginal then
ReEncode := Decision.Codec;