PBM (Portable Bitmap) ist vermutlich das einfachste Bildformat, das heute noch täglich verwendet wird: ein Bit pro Pixel, Schwarz oder Weiß, davor ein Header aus wenigen Zeichen. Es gehört zur Netpbm-Familie, zusammen mit PGM für Graustufen und PPM für Farbe. Menschen schicken sich selten PBM-Dateien. Programme erzeugen sie: Scan-Werkzeuge unter Linux, OCR- und Fax-Abläufe, der Vektorisierer potrace, Programmieraufgaben an Hochschulen und Skripte, die einfach das am leichtesten zu schreibende Bildformat brauchten.
Herkunft
Jef Poskanzer entwarf PBM in den 1980er-Jahren, damit eine Bitmap innerhalb einer E-Mail verschickt werden konnte, zu einer Zeit ohne Anhänge. Deshalb ist die ursprüngliche Variante reiner ASCII-Text. 1988 veröffentlichte er Pbmplus, eine Sammlung von Konvertern zwischen PBM und anderen Formaten, und ergänzte bis Jahresende PGM und PPM. Die letzte Pbmplus-Version erschien am 10. Dezember 1991. Seit 1993 lebt das Projekt als Netpbm weiter, seit 1999 betreut von Bryan Henderson. Eine ISO-Norm oder einen bei der IANA registrierten MIME-Typ gibt es nicht. Maßgeblich ist die Netpbm-Spezifikation, üblich ist der Typ image/x-portable-bitmap.
So funktioniert PBM
- Plain PBM (P1) speichert jedes Pixel als Zeichen 0 oder 1. Der Text
P1 3 2 1 0 1 0 1 0ist ein vollständiges, gültiges Bild mit 3 × 2 Pixeln. Zeilen dürfen höchstens 70 Zeichen lang sein. - Raw PBM (P4) packt acht Pixel in ein Byte, jede Zeile wird auf volle Bytes aufgefüllt. Der Header bleibt Text: Kennung, Breite, Höhe, optional Kommentare nach
#. - 1 steht für Schwarz, 0 für Weiß. Die meisten anderen Formate, auch WBMP, machen es umgekehrt. Selbst geschriebene Decoder, die das übersehen, liefern ein Negativ.
- Keine Kompression, keine Palette, keine dpi-Angabe, keine Metadaten, keine Transparenz. Eine DIN-A4-Seite mit 300 dpi (2480 × 3508 Pixel) belegt als P4 etwa 1,1 MB, als P1 mindestens achtmal so viel.
- Seit 2000 darf eine Raw-Datei mehrere Bilder hintereinander enthalten, die meisten Programme lesen aber nur das erste.
PBM-Datei öffnen
- Windows: IrfanView, XnView MP, GIMP oder Photoshop. Die Fotos-App liest kein PBM.
- macOS: GIMP oder XnView MP.
- Linux: Die meisten Bildbetrachter unter GNOME und KDE lesen Netpbm-Formate direkt, auf der Kommandozeile hilft das Paket Netpbm (
pnmtopng). - Eine P1-Datei lässt sich auch in jedem Texteditor öffnen. Man sieht dann die Nullen und Einsen.
Typische Probleme mit PBM
PBM-Bild erscheint invertiert
Das Programm oder der eigene Code behandelt 1 als Weiß. In PBM ist 1 Schwarz.
Foto besteht nach dem Umwandeln in PBM nur aus schwarzen Flecken
PBM kennt nur zwei Werte. Unser Konverter wandelt das Bild in Graustufen um, spreizt den Kontrast und trennt bei 50 % Helligkeit, ohne Dithering. Für Text, Unterschriften, Strichzeichnungen und QR-Codes funktioniert das gut, für Fotos schlecht. Fotos besser als PNG belassen oder als Graustufen-PGM speichern.
Die .pbm-Datei beginnt mit P2, P5 oder P6
Dann stecken Graustufen- oder Farbdaten unter der falschen Endung, typisch für Werkzeuge, die beliebige Netpbm-Typen schreiben. Unser Konverter liest alle Netpbm-Varianten unabhängig von der Endung.
Ein anderes Programm lehnt das PBM aus meinem Code ab
Häufige Ursachen: kein Leerzeichen oder Zeilenende nach der Höhe, P4-Zeilen nicht auf volle Bytes aufgefüllt, oder ein Kommentar mitten in den Bilddaten.
PBM umwandeln
PBM in PNG, TIFF oder GIF umzuwandeln ist verlustfrei, das Ergebnis öffnet jedes Programm. PBM in PDF ist der schnelle Weg vom Scan zum Dokument. PBM in SVG zeichnet die Pixel als Vektorkurven nach. Übrigens: Wenn Sie bei uns irgendein Rasterbild in SVG konvertieren, erzeugt der Konverter zuerst ein schwarz-weißes PBM und vektorisiert dieses. Umgekehrt ist die Umwandlung in PBM der sichere Weg, reines Schwarz-Weiß zu erzwingen, etwa bevor ein 1-Bit-Logo für einen Etikettendrucker als PCX vorbereitet wird.
PBM auf einen Blick
| Autor | Jef Poskanzer, heute Projekt Netpbm |
|---|---|
| Entstehung | 1980er-Jahre; Pbmplus 1988, Netpbm 1993 |
| Spezifikation | Netpbm-Dokumentation, keine ISO-Norm |
| Typ | Rastergrafik, 1 Bit pro Pixel |
| Kompression | keine |
| Varianten | P1 (Text), P4 (binär) |
| Typische Nutzung | Scan- und OCR-Abläufe, Vektorisierung, Lehre, Skripte |
Spezifikation und Geschichte (englisch): PBM-Spezifikation und Geschichte von Netpbm.