O que é o formato de ficheiro PNM?
.pnm (Portable Anymap) é uma extensão abrangente que cobre três subformatos de imagem raster não compactados relacionados da família Netpbm: PBM (Portable Bitmap, preto e branco de 1 bit), PGM (Portable Graymap, tons de cinza) e PPM (Portable Pixmap, colorido). O subtipo real de qualquer arquivo .pnm é identificado pelos seus dois primeiros bytes: P1-P3 para as variantes ASCII («planas») e P4-P6 para as variantes binárias («brutas»).
Jef Poskanzer criou o formato PBM original em 1988 como parte de seu kit de ferramentas Pbmplus, adicionando PGM e PPM logo em seguida. Os formatos foram projetados para serem a representação de imagem lossless mais simples possível, capaz de sobreviver ao trânsito em links de e-mail de 7 bits. As variantes ASCII armazenam valores de pixel como inteiros decimais separados por espaços após um cabeçalho de texto simples; as variantes binárias agrupam bytes brutos imediatamente após o cabeçalho para um armazenamento mais compacto.
A profundidade de cor varia de 1 bpp (PBM) a 16 bpp por canal (PGM/PPM com valor máximo de 16 bits), resultando em até 48 bpp para imagens coloridas. O formato não define compressão, criptografia, perfil de cor, dados EXIF ou miniaturas - é deliberadamente minimalista.
O PNG é o substituto moderno para armazenamento lossless, mas os arquivos .pnm continuam sendo um formato intermediário onipresente em pipelines de processamento de imagem Unix. ImageMagick, GIMP, FFmpeg e virtualmente todas as ferramentas de imagem Unix leem e gravam o formato nativamente.
Segurança e proteção
RISCO: LOWPNM/PBM/PGM/PPM estão entre os formatos de imagem mais simples - cabeçalho de texto simples mais dados de pixel brutos (ou valores ASCII). Sem execução de código, sem scripts, sem explorações de compressão. Muito seguro para abrir. O principal risco é o tamanho trivialmente grande do arquivo não compactado para imagens de alta resolução.
Detalhes do formato
em resumoProgramas que abrem arquivos PNM
Detalhes técnicos
especificação profunda| Subformatos | Termo genérico para PBM (P1/P4, 1-bit), PGM (P2/P5, tons de cinza) e PPM (P3/P6, colorido) |
| Magic bytes | Primeiros 2 bytes: `P` (0x50) + dígito `1`-`6` (0x31-0x36) - identifica o subtipo e a codificação ASCII vs. binária |
| Variantes ASCII (P1-P3) | Valores de pixel armazenados como inteiros decimais separados por espaços - legíveis por humanos e seguros para 7 bits |
| Variantes binárias (P4-P6) | Bytes de pixel brutos agrupados imediatamente após o cabeçalho ASCII - mais compactos, mesmos dados lógicos |
| Compressão | Nenhuma - dados de pixel armazenados sem compressão em todas as variantes |
| Profundidade de cor | 1 bpp (PBM); 8 ou 16 bpp por canal em tons de cinza (PGM); 24 ou 48 bpp colorido (PPM com valor máximo de 16 bits) |
| Estrutura do cabeçalho | Campos ASCII: magic number, linhas de comentário `#` opcionais, largura, altura e, em seguida, o valor máximo (ausente para P1/P4 de 1 bit) |
| Ordem dos bytes | Big-endian para amostras de 16 bits em variantes binárias P5/P6; não aplicável para formatos de 8 bits ou ASCII |
| Restrição de valor máximo | Deve ser 1-65.535 (uint16); valores ≤ 255 usam 1 byte por amostra nos modos binários P4-P6 |
| Dimensões | Sem máximo definido; limitado na prática pela memória disponível do sistema |
| Tipo MIME | `image/x-portable-anymap`; subtipos: `image/x-portable-bitmap`, `image/x-portable-graymap`, `image/x-portable-pixmap` |
| Extensão PAM | P7 (`.pam`, Portable Arbitrary Map) estende o PNM para contagens de canais e profundidades de bits arbitrárias |
| Uso típico | Formato intermediário de pipeline de processamento de imagem Unix; E/S nativa para ImageMagick, GIMP, FFmpeg e a maioria das ferramentas de imagem Unix |
| Lançado | 1988 (Jef Poskanzer's Pbmplus toolkit; PBM first, PGM and PPM by year-end) |
| Versão mais recente | Netpbm 11.x (2020s); format spec stable since early 1990s |
| Padrão aberto | Sim · livre de royalties |
| Especificação | netpbm.sourceforge.net |
Conversões de PNM
Perguntas e Respostas da Comunidade
perguntado por usuáriosAinda não há perguntas - seja o primeiro a perguntar sobre arquivos PNM.