PDFium Delphi Component Docs

Função SelectPdfImageCodec

Unidade: PDFium
Escolhe a recodificação elegível mais pequena para uma imagem a partir dos tamanhos medidos dos codecs

Syntax

function SelectPdfImageCodec(const Candidate: TPdfImageCodecCandidate;
  AllowedCodecs: TPdfImageCodecs; MinimumSavingBytes: Int64 = 1): TPdfImageCodecDecision;

Parameters

CandidateTPdfImageCodecCandidate
AllowedCodecsTPdfImageCodecs
MinimumSavingBytesInt64

Return Value

TPdfImageCodecDecision

Description

SelectPdfImageCodec é um auxiliar de decisão puro que compara as estimativas de EncodedBytes registadas no candidato e devolve que codec deve guardar a imagem

Cada codec permitido é primeiro verificado quanto à elegibilidade: picJpeg exige ausência de alpha, imagem não bilevel, 8 bits por componente, 1, 3 ou 4 componentes, e um número de cores únicas desconhecido ou superior a 256; picJpx exige uma imagem não bilevel com pelo menos 8 bits por componente e 1 a 4 componentes; picCcittGroup4 exige uma imagem bilevel sem alpha, 1 bit por componente e um único componente; picFlate aceita pelo menos 1 bit por componente e pelo menos 1 componente

Entre os codecs elegíveis vence o menor valor positivo de EncodedBytes, e a decisão reporta OriginalBytes, SelectedBytes e SavedBytes

ReplaceOriginal é True apenas quando o vencedor não é picKeepOriginal e SavedBytes atinge MinimumSavingBytes; caso contrário a decisão é reposta em picKeepOriginal com zero bytes guardados

Remarks

Example

Decision := SelectPdfImageCodec(Candidate, [picJpeg, picJpx, picFlate], 1024);
if Decision.ReplaceOriginal then
  ReEncode := Decision.Codec;

See Also

TPdf.OptimizeImages, BuildToUnicodeCMap, TPdf.ImageInfo