Format von Netpbm

Der Ausdruck Format von Netpbm bezieht sich allgemein auf irgendwelchen oder alle Mitglieder von einer Reihe nah zusammenhängender Grafikformate, die verwendet und durch das Projekt von Netpbm definiert ist.

Das tragbare Pixmap-Format (PPM), das tragbare Graymap-Format (PGM) und das tragbare Bitmap-Format (PBM) ist Bilddateiformate, die entworfen sind, um zwischen Plattformen leicht ausgetauscht zu werden. Auf sie wird auch manchmal insgesamt als das tragbare Anymap-Format (PNM) verwiesen.

Geschichte

Das PBM-Format wurde von Jef Poskanzer in den 1980er Jahren als ein Format erfunden, das monochromem bitmaps erlaubt hat, innerhalb einer E-Mail-Nachricht als ASCII einfacher Text übersandt zu werden, ihm erlaubend, irgendwelche Änderungen in der Textformatierung zu überleben.

Poskanzer hat die erste Bibliothek von Werkzeugen entwickelt, um das PBM-Format, Pbmplus, befreit 1988 zu behandeln. Es hat hauptsächlich Werkzeuge enthalten, um sich zwischen PBM und anderen Grafikformaten umzuwandeln. Am Ende von 1988 hatte Poskanzer den PGM und die PPM-Formate zusammen mit ihren verbundenen Werkzeugen entwickelt und sie zu Pbmplus hinzugefügt. Die Endausgabe von Pbmplus war am 10. Dezember 1991.

1993 wurde die Bibliothek von Netpbm entwickelt, um ununterstützten Pbmplus zu ersetzen. Es war einfach ein Wiederverpacken von Pbmplus mit Hinzufügungen und üblen Lagen, die von Leuten überall auf der Welt vorgelegt sind.

Dateiformat-Beschreibung

Jedes Format unterscheidet sich, in welchen Farben es entworfen wird, um zu vertreten:

  • PBM ist für bitmaps (schwarz und weiß, keine Graus)
  • PGM ist für grayscale
  • PPM ist für "pixmaps", die volle RGB-Farbe vertreten.

Jede Datei fängt mit einer Zwei-Byte-Zauberzahl an (in ASCII), der den Typ der Datei erklärt, ist es (PBM, PGM und PPM) und seine Verschlüsselung (ASCII oder binär). Die Zauberzahl ist ein Kapital P gefolgt von einer einzelnen Ziffer-Zahl.

Gestützte Formate des ASCII berücksichtigen menschliche Lesbarkeit und leichten Transport zu anderen Plattformen (so lange jene Plattformen ASCII verstehen), während die binären Formate beide beim Sparen des Raums in der Datei effizienter sind, sowie zu sein, der leichter ist, wegen der Abwesenheit von whitespace grammatisch zu analysieren.

Wenn

er die binären Formate verwendet, verwendet PBM 1 Bit pro Pixel, PGM verwendet 8 Bit pro Pixel, und

PPM verwendet 24 Bit pro Pixel: 8 für das Rot, 8 für das Grün, 8 für das Blau.

PBM Beispiel

Ein einfaches Beispiel des PBM-Formats ist wie folgt (Es gibt ein Zeilenvorschubzeichen am Ende jeder Linie.):

P1

# ist Das ein Beispiel bitmap vom Brief "J"

6 10

0 0 0 0 1 0

0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0

1 0 0 0 1 0

0 1 1 1 0 0

0 0 0 0 0 0

1 1 1 1 1 1

Die Schnur P1 identifiziert das Dateiformat. Das Kuddelmuddel-Zeichen führt eine Anmerkung ein. Die folgenden zwei Zahlen geben die Breite und die Höhe. Dann folgt der Matrix mit den Pixel-Werten (im monochromen Fall hier, nur Nullen und).

Hier ist das resultierende Image:

Hier wird es wieder 20mal vergrößert:

PGM Beispiel

Der PGM und die PPM-Formate (sowohl ASCII als auch binäre Versionen) haben einen zusätzlichen Parameter für den maximalen Wert (Zahlen des Graus zwischen Schwarzem und Weiß) nach den X und Y Dimensionen und vor den wirklichen Pixel-Daten. Schwarz ist 0, und Max-Wert ist weiß. Es gibt ein Zeilenvorschubzeichen am Ende jeder Linie.

P2

# Shows das Wort "FEEP" (Beispiel von Netpbm Hauptseite auf PGM)

24 7

15

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 3 3 3 3 0 0 7 7 7 7 0 0 11 11 11 11 0 0 15 15 15 15 0

0 3 0 0 0 0 0 7 0 0 0 0 0 11 0 0 0 0 0 15 0 0 15 0

0 3 3 3 0 0 0 7 7 7 0 0 0 11 11 11 0 0 0 15 15 15 15 0

0 3 0 0 0 0 0 7 0 0 0 0 0 11 0 0 0 0 0 15 0 0 0 0

0 3 0 0 0 0 0 7 7 7 7 0 0 11 11 11 11 0 0 15 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Beispiel hat (vergrößert):

PPM Beispiel

Das ist ein Beispiel eines RGB im PPM-Format versorgten Farbenimages. Es gibt ein Zeilenvorschubzeichen am Ende jeder Linie.

P3

# sind Die P3-Mittel-Farben in ASCII, dann 3 Säulen und 2 Reihen,

# dann 255 für die Max-Farbe, dann RGB Drillinge

3 2

255

255 0 0 0 255 0 0 0 255

255 255 0 255 255 255 0 0 0

Das Image hat (vergrößert):

Das P6 binäre Format desselben Images vertritt jeden Farbenbestandteil jedes Pixels mit einem Byte (so drei Bytes pro Pixel) in der Ordnung rot, grün, dann blau. Die Datei ist kleiner, aber die Farbeninformation ist durch Menschen nicht lesbar.

Das PPM-Format wird nicht zusammengepresst, und verlangt so mehr Raum und Bandbreite, als ein komprimiertes Format verlangen würde. Zum Beispiel hat das obengenannte 192x128 PNG Image eine Dateigröße von 166 Bytes. Wenn umgewandelt, zu 192x128 PPM Image ist die Dateigröße 73,848 Bytes. Das PPM-Format ist allgemein ein Zwischenformat, das für die Bildarbeit vor dem Umwandeln zu einem effizienteren Format, zum Beispiel der PNG (Tragbare Netzgrafik) Format ohne jeden Verlust der Information in der Zwischenstufe verwendet ist.

16-Bit-Erweiterungen

Die ursprüngliche Definition des PGM und der PPM binären Formate (die P5- und P6-Formate) hat Bit-Tiefen nicht erlaubt, die größer sind als 8 Bit. Man kann natürlich das ASCII-Format verwenden, aber dieses Format sowohl verlangsamt das Lesen als auch macht die Dateien viel größer. Entsprechend haben viele Programmierer das Format erweitert, um höhere Bit-Tiefen zu erlauben. Das Verwenden höherer Bit-Tiefen stößt auf das Problem der Notwendigkeit, sich für den endianness der Datei zu entscheiden. Die verschiedenen Durchführungen konnten sich nicht einigen, welche Byte-Ordnung zu verwenden, und einige die 16 Bit endianness mit der Pixel-Verpackungsordnung verbunden haben. In Netpbm, der De-Facto-Standarddurchführung der PNM-Formate, ist das bedeutendste Byte erst.

Siehe auch

  • PAM
  • Vergleich von Bildzuschauern
  • JBIG/JBIG2
  • X BitMap/X PixMap

Links

Beispiele von ppm Dateien in verschiedenen Formaten


Bedfordshire / Bedford
Impressum & Datenschutz