function SelectPdfImageCodec(const Candidate: TPdfImageCodecCandidate;
AllowedCodecs: TPdfImageCodecs; MinimumSavingBytes: Int64 = 1): TPdfImageCodecDecision;
| Candidate | TPdfImageCodecCandidate |
| AllowedCodecs | TPdfImageCodecs |
| MinimumSavingBytes | Int64 |
TPdfImageCodecDecisionSelectPdfImageCodec is een pure beslissingshelper die de op de kandidaat vastgelegde EncodedBytes-schattingen vergelijkt en teruggeeft welke codec de afbeelding moet opslaan
Elke toegestane codec wordt eerst op geschiktheid gecontroleerd: picJpeg vereist geen alpha, een niet-bilevel-afbeelding, 8 bits per component, 1, 3 of 4 componenten en een onbekend of groter-dan-256 aantal unieke kleuren; picJpx vereist een niet-bilevel-afbeelding met ten minste 8 bits per component en 1 tot 4 componenten; picCcittGroup4 vereist een bilevel-afbeelding zonder alpha, 1 bit per component en één component; picFlate accepteert ten minste 1 bit per component en ten minste 1 component
Van de geschikte codecs wint de kleinste positieve EncodedBytes-waarde, en de beslissing rapporteert OriginalBytes, SelectedBytes en SavedBytes
ReplaceOriginal is alleen True wanneer de winnaar niet picKeepOriginal is en SavedBytes MinimumSavingBytes bereikt; anders wordt de beslissing teruggezet naar picKeepOriginal met nul bespaarde bytes
Decision := SelectPdfImageCodec(Candidate, [picJpeg, picJpx, picFlate], 1024);
if Decision.ReplaceOriginal then
ReEncode := Decision.Codec;