Método THotPDF.DecodeLoadedImageColorKeyMask
Constrói o bitmap de color-key mask para uma imagem carregada cujo dicionário carrega uma entrada /Mask em array
Declaração
function DecodeLoadedImageColorKeyMask(
AImageStream: THPDFStreamObject): TBitmap;
Unit
HPDFDoc
Parâmetros
| Nome | Finalidade |
|---|---|
AImageStream | Objeto de stream de imagem carregada cujo dicionário contém o array /Mask de color-key |
Valor de retorno
Bitmap grayscale de 24 bits com as dimensões da imagem, em que o preto marca os pixels cujas amostras estão todas dentro das faixas dos próprios componentes e o branco marca os pixels com qualquer componente fora da faixa; nil quando a imagem não é elegível
Notas de uso
- A elegibilidade segue as regras de color-key masking do PDF: a imagem precisa ser decodificável, não ser uma image mask, ter de 1 a 4 componentes de cor e possuir um array /Mask com 2 valores por componente
- Os intervalos são comparados com as amostras como armazenadas, antes de
/Decode; para uma imagem Indexed, isso é o índice da paleta, de modo que duas entradas da mesma cor podem ser mascaradas de forma diferente - Streams DCTDecode, JPXDecode, JBIG2Decode e codificados em CCITT retornam nil: codecs com perda não mantêm valores exatos de amostras
RenderLoadedPageToBitmapeBuildLoadedPageSVGaplicam esta máscara quando desenham a imagem- A decodificação respeita o byte budget de decode configurado, então imagens hostis ou grandes demais falham de forma limpa em vez de esgotar a memória
- O bitmap retornado pertence a quem chamou; combine-o com
DecodeLoadedImageStreampara pré-visualizar quais regiões o viewer vai tratar como mascaradas