PDFium Delphi Component Docs

Função SelectPdfImageCodec

Unidade: PDFium
Escolhe a recodificação elegível mais compacta para uma imagem a partir de tamanhos medidos por codec

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 registradas no candidato e retorna qual codec deve armazenar a imagem

Cada codec permitido é primeiro verificado quanto à elegibilidade: picJpeg exige ausência de alfa, imagem não bilevel, 8 bits por componente, 1, 3 ou 4 componentes e contagem de cores únicas desconhecida ou maior que 256; picJpx exige uma imagem não bilevel com pelo menos 8 bits por componente e de 1 a 4 componentes; picCcittGroup4 exige uma imagem bilevel sem alfa, 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 relata OriginalBytes, SelectedBytes e SavedBytes

ReplaceOriginal é True apenas quando o vencedor não é picKeepOriginal e SavedBytes atinge MinimumSavingBytes; caso contrário, a decisão é revertida para picKeepOriginal com zero bytes economizados

Remarks

Example

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

See Also

TPdf.OptimizeImages, BuildToUnicodeCMap, TPdf.ImageInfo