Scroll to navigation

pbm(5) File Formats Manual pbm(5)

NAZWA

pbm - przenośny format bitmap

OPIS

Przenośny format bitmapowy to najprostszy format monochromatyczny. Początkowo był odpowiedzialny za przesyłanie bitmap poprzez głupie mailery sieciowe. Dzisiaj jest popularnym językiem różnych narzędzi konwersji. Definicja jest następująca:

-
"Numer magiczny", określający rodzaj pliku. Numer magiczny pliku pbm to dwa pierwsze znaki, ustawione na "P1".
-
Biała spacja (spacje, tabulacje, CR, LF).
-
Szerokość, sformatowana jako dziesiętne znaki ASCII.
-
Biała spacja.
-
Wysokość, znów jako dziesiętne znaki ASCII.
-
Biała spacja.
-
Bity szerokości * wysokości, z których każdy jest albo '1', albo '0'; zaczynają się od górnego, lewego rogu bitmapy i następują w normalnym kierunku czytania.
-
Znak '1' oznacza czerń, '0' biel.
-
Biała spacja w sekcji bitów jest ignorowana.
-
Znaki następujące po "#" (wraz z nim), aż do końca linii są ignorowane (komentarze).
-
Linie nie powinny być dłuższe niż 70 znaków.

Oto przykład małej bitmapy w tym formacie:

P1
# feep.pbm
24 7
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 1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0
0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0
0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 1 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 1 1 1 0 0 1 1 1 1 0 0 1 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

Programy, odczytujące ten format powinny być jak najwyrozumialsze, przyjmując wszystko, co z daleka wygląda na bitmapę.

Istnieje też wariant tego formatu, dostępny po włączeniu podczas kompilacji opcji RAWBITS. Wariant ten jest inny pod kilkoma względami:

-
"Numer magiczny" to "P4" zamiast "P1".
-
Bity są zachowywane w postaci ośmiu na bajt, najpierw znaczący bit, a potem mniej znaczący.
-
W sekcji bitów nie jest dozwolona biała spacja, a po wysokości dozwolony jest tylko jeden znak białej spacji (zwykle nowa linia).
-
Pliki są ośmiokrotnie razy mniejsze i o wiele szybsze w zapisie i odczycie.

ZOBACZ TAKŻE

atktopbm(1), brushtopbm(1), cmuwmtopbm(1), g3topbm(1), gemtopbm(1), icontopbm(1), macptopbm(1), mgrtopbm(1), pi3topbm(1), xbmtopbm(1), ybmtopbm(1), pbmto10x(1), pnmtoascii(1), pbmtoatk(1), pbmtobbnbg(1), pbmtocmuwm(1), pbmtoepson(1), pbmtog3(1), pbmtogem(1), pbmtogo(1), pbmtoicon(1), pbmtolj(1), pbmtomacp(1), pbmtomgr(1), pbmtopi3(1), pbmtoplot(1), pbmtoptx(1), pbmtox10bm(1), pbmtoxbm(1), pbmtoybm(1), pbmtozinc(1), pbmlife(1), pbmmake(1), pbmmask(1), pbmreduce(1), pbmtext(1), pbmupc(1), pnm(5), pgm(5), ppm(5)

AUTOR

Copyright (C) 1989, 1991 Jef Poskanzer.

27 września 1991