function SelectPdfImageCodec(const Candidate: TPdfImageCodecCandidate;
AllowedCodecs: TPdfImageCodecs; MinimumSavingBytes: Int64 = 1): TPdfImageCodecDecision;
| Candidate | TPdfImageCodecCandidate |
| AllowedCodecs | TPdfImageCodecs |
| MinimumSavingBytes | Int64 |
TPdfImageCodecDecisionSelectPdfImageCodec är en ren beslutshjälpare som jämför EncodedBytes-uppskattningarna som registrerats på kandidaten och returnerar vilken codec som ska lagra bilden
Varje tillåten codec kontrolleras först för behörighet: picJpeg kräver ingen alfa, en icke-bilevel-bild, 8 bitar per komponent, 1, 3 eller 4 komponenter och ett okänt eller över 256 unikt färgantal; picJpx kräver en icke-bilevel-bild med minst 8 bitar per komponent och 1 till 4 komponenter; picCcittGroup4 kräver en bilevel-bild utan alfa, 1 bit per komponent och en enda komponent; picFlate accepterar minst 1 bit per komponent och minst 1 komponent
Bland de behöriga codecerna vinner det minsta positiva EncodedBytes-värdet, och beslutet rapporterar OriginalBytes, SelectedBytes och SavedBytes
ReplaceOriginal är True endast när vinnaren inte är picKeepOriginal och SavedBytes når MinimumSavingBytes; annars återställs beslutet till picKeepOriginal med noll sparade bytes
Decision := SelectPdfImageCodec(Candidate, [picJpeg, picJpx, picFlate], 1024);
if Decision.ReplaceOriginal then
ReEncode := Decision.Codec;