Was ist das PNM-Dateiformat?
.pnm (Portable Anymap) ist eine Sammelerweiterung für drei verwandte unkomprimierte Rasterbild-Unterformate aus der Netpbm-Familie: PBM (Portable Bitmap, 1-Bit Schwarz-Weiß), PGM (Portable Graymap, Graustufen) und PPM (Portable Pixmap, Farbe). Der tatsächliche Untertyp jeder .pnm-Datei wird durch die ersten zwei Bytes identifiziert: P1-P3 für die ASCII-Varianten („Plain“) und P4-P6 für die Binär-Varianten („Raw“).
Jef Poskanzer entwickelte das ursprüngliche PBM-Format im Jahr 1988 als Teil seines Pbmplus-Toolkits und fügte kurz darauf PGM und PPM hinzu. Die Formate wurden als einfachstmögliche verlustfreie Bilddarstellung konzipiert, die auch den Transport über 7-Bit-E-Mail-Verbindungen übersteht. Die ASCII-Varianten speichern Pixelwerte als durch Leerzeichen getrennte dezimale Ganzzahlen nach einem Klartext-Header; die Binär-Varianten packen die Roh-Bytes für eine kompaktere Speicherung unmittelbar nach dem Header.
Die Farbtiefe reicht von 1 bpp (PBM) bis zu 16 bpp pro Kanal (PGM/PPM mit 16-Bit-Maxval), was bis zu 48 bpp für Farbbilder ergibt. Das Format definiert keine Kompression, Verschlüsselung, Farbprofile, EXIF-Daten oder Vorschaubilder - es ist bewusst minimalistisch gehalten.
PNG ist der moderne Ersatz für die verlustfreie Speicherung, aber .pnm-Dateien bleiben ein allgegenwärtiges Zwischenformat in Unix-Bildverarbeitungspipelines. ImageMagick, GIMP, FFmpeg und praktisch alle Unix-Bildwerkzeuge lesen und schreiben das Format nativ.
Sicherheit
RISIKO: LOWPNM/PBM/PGM/PPM gehören zu den einfachsten Bildformaten - Klartext-Header plus Roh-Pixeldaten (oder ASCII-Werte). Keine Code-Ausführung, kein Scripting, keine Kompressions-Exploits. Sehr sicher zu öffnen. Das Hauptrisiko ist die trivial große unkomprimierte Dateigröße bei hochauflösenden Bildern.
Formatdetails
kurz gefasstProgramme zum Öffnen von PNM-Dateien
Technische Details
technische Spezifikation| Unterformate | Sammelbegriff für PBM (P1/P4, 1-Bit), PGM (P2/P5, Graustufen) und PPM (P3/P6, Farbe) |
| Magic Bytes | Erste 2 Bytes: `P` (0x50) + Ziffer `1`-`6` (0x31-0x36) - identifiziert Untertyp und ASCII- vs. Binär-Kodierung |
| ASCII-Varianten (P1-P3) | Pixelwerte gespeichert als durch Leerzeichen getrennte dezimale Ganzzahlen - menschenlesbar und 7-Bit-sicher |
| Binär-Varianten (P4-P6) | Roh-Pixel-Bytes direkt nach dem ASCII-Header gepackt - kompakter, gleiche logische Daten |
| Kompression | Keine - Pixeldaten werden in allen Varianten unkomprimiert gespeichert |
| Farbtiefe | 1 bpp (PBM); 8 oder 16 bpp pro Kanal Graustufen (PGM); 24 oder 48 bpp Farbe (PPM mit 16-Bit-Maxval) |
| Header-Struktur | ASCII-Felder: Magic Number, optionale `#` Kommentarzeilen, Breite, Höhe, dann Maxval (fehlt bei P1/P4 1-Bit) |
| Byte-Reihenfolge | Big-Endian für 16-Bit-Samples in binären P5/P6-Varianten; nicht anwendbar für 8-Bit- oder ASCII-Formate |
| Maxval-Beschränkung | Muss 1-65.535 (uint16) sein; Werte ≤ 255 verwenden 1 Byte pro Sample in binären P4-P6-Modi |
| Dimensionen | Kein definiertes Maximum; in der Praxis durch verfügbaren Systemspeicher begrenzt |
| MIME-Typ | `image/x-portable-anymap`; Untertypen: `image/x-portable-bitmap`, `image/x-portable-graymap`, `image/x-portable-pixmap` |
| PAM-Erweiterung | P7 (`.pam`, Portable Arbitrary Map) erweitert PNM auf beliebige Kanalanzahlen und Bittiefen |
| Typische Verwendung | Zwischenformat in Unix-Bildverarbeitungspipelines; natives I/O für ImageMagick, GIMP, FFmpeg und die meisten Unix-Bildwerkzeuge |
| Veröffentlicht | 1988 (Jef Poskanzer's Pbmplus toolkit; PBM first, PGM and PPM by year-end) |
| Neueste Version | Netpbm 11.x (2020s); format spec stable since early 1990s |
| Offener Standard | Ja · lizenzgebührenfrei |
| Spezifikation | netpbm.sourceforge.net |
PNM-Konvertierungen
Community Q&A
von Nutzern gefragtNoch keine Fragen - stellen Sie die erste Frage zu PNM-Dateien.