THotPDF.DecodeLoadedImageColorKeyMask Method
Constrói o bitmap de máscara color-key para uma imagem carregada cujo dicionário contém uma entrada de array /Mask
Declaração
function DecodeLoadedImageColorKeyMask(
AImageStream: THPDFStreamObject): TBitmap;
Unidade
HPDFDoc
Parâmetros
| Nome | Finalidade |
|---|---|
AImageStream | Objeto de stream de imagem carregada cujo dicionário contém o array /Mask de color-key |
Valor devolvido
Bitmap em tons de cinzento de 24 bits com as dimensões da imagem, em que o preto marca os píxeis cujas amostras estão todas dentro dos intervalos dos respetivos componentes e o branco marca os píxeis com algum componente fora do intervalo; nil quando a imagem não é elegível
Notas de utilização
- A elegibilidade segue as regras de masking color-key do PDF: a imagem tem de ser descodificável, não pode ser uma image mask, tem de ter 1 a 4 componentes de cor e de possuir um array /Mask com 2 valores por componente
- Os intervalos são comparados com as amostras tal como armazenadas, antes de
/Decode; numa imagem Indexed, isso é o índice da paleta, pelo que duas entradas da mesma cor podem ser mascaradas de forma diferente - As streams DCTDecode, JPXDecode, JBIG2Decode e codificadas em CCITT devolvem nil: os codecs com perda não mantêm valores exatos das amostras
RenderLoadedPageToBitmapeBuildLoadedPageSVGaplicam esta máscara quando desenham a imagem- A descodificação respeita o orçamento de bytes de descodificação configurado, pelo que imagens hostis ou demasiado grandes falham de forma limpa em vez de esgotar a memória
- Quem chama é o proprietário do bitmap devolvido; combine-o com
DecodeLoadedImageStreampara pré-visualizar que regiões o visualizador vai tratar como mascaradas