| Format PBM(5) | File Formats Manual | Format PBM(5) |
pbm - dwupoziomowy format obrazu Netpbm
Program jest częścią Netpbm(1).
Format PBM jest najmniejszym wspólnym mianownikiem dla monochromatycznego formatu pliku. Jest wspólnym językiem większej rodziny filtrów konwersji obrazów bitmapowych. Ponieważ format nie przejmuje się wydajnością, jest prosty i wystarczająco ogólny, tak że każdy może tworzyć programy konwertujące bitmapy z lub do innych formatów graficznych albo przetwarzające obrazy.
Nazwa „PBM” jest akronimem, pochodzącym od słów „Przenośna BitMapa”.
Nie jest to format, którego ktokolwiek normalnie by użył do przechowywania pliku lub do przesłania go do kogoś innego — jest zbyt drogi i mało wyrazisty do tego. Jest to po prostu format przejściowy. Najczęściej jest używany w potokach między dwoma programami.
Definicja formatu jest następująca:
Plik PBM składa się z sekwencji jednego lub więcej obrazów PBM. Nie występują żadne inne dane, separatory i wyrównania przed obrazami, po nich ani między nimi.
W skład każdego obrazu PBM wchodzą:
Wiersz jest poziomy. Kolumna jest pionowa. Piksele w obrazie są kwadratowe i ciągłe.
(Przed czerwcem 2024, powrót karetki lub wysuw wiersza był unormowany jako część komentarza i ignorowany, lecz podczas 22 lat, przez które komentarze istniały według normy, Netpbm nigdy tego nie zaimplementował).
Wszystkie znaki, o których tu mowa są zakodowane w ASCII. Znak nowego wiersza, odnosi się do znaku nowego wiersza ASCII (LF). Biały znak to spacja, powrót karetki (CR), znak nowego wiersza (LF), tabulator (TAB), tabulator pionowy (VT) lub wysuw strony (FF) — tj. to, co funkcja isspace() standardu C ANSI nazywa białym znakiem.
Istnieje inna wersja formatu PBM, nawet jeszcze bardziej uproszczona, jeszcze bardziej nieprzejmująca się zajmowaną przestrzenią niż PBM, zwana "prostym PBM". Prosty PBM w zasadzie pojawił się wcześniej, ale nawet jego twórca nie mógł znieść marnowania zasobów i po jakimś czasie wymyślił to co dziś jest znane jako zwykły format PBM. Ale plik w formacie prostego PBM jest tak nadmiarowy, tak przesadzony, że nie ma możliwości jego uszkodzenia. Można wysyłać go przez nawet najbardziej liberalny system pocztowy (co było oryginalnym celem formatu PBM), a plik i tak będzie wciąż czytelny. Można zamienić tuzin przypadkowo wybranych bitów, a potem z łatwością odtworzyć oryginalny obraz. Nie ma potrzeby definiowania tego formatu tutaj, ponieważ łatwo można go rozszyfrować przez analizowanie.
Program Netpbm tworzy domyślnie Surowy format PBM zamiast Prostego PBM, lecz opcja ogólna -plain wybiera Prosty PBM.
Różnice to:
Oto przykład małego obrazu w prostym formacie PBM:
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
Na końcu każdego wiersza znajduje się znak nowego wiersza.
Program pnmtoplainpnm umożliwia wygenerowanie Prostego formatu PBM z regularnego formatu PBM (tylko pierwszy obraz).
Programy, odczytujące ten format powinny być jak najwyrozumialsze, przyjmując wszystko, co z daleka wygląda na bitmapę.
Dla formatu PBM nie zarejestrowano internetowego identyfikatora formatu danych (Internet Media Type — MIME) w IANA, lecz konwencjonalna jest wartość image/x-portable-bitmap.
Proszę zauważyć, że image/x-portable-anymap dotyczy też PNM.
Nie ma wymagań odnośnie nazwy pliku PBM, lecz przyjęło się rozszerzenie „.pbm”. Konwencjonalne jest również „pnm” w przypadkach, gdy nie jest wygodne rozróżnianie pomiędzy danymi podformatami PNM.
Przed lipcem 2000 roku plik PBM mógł zawierać tylko jeden obraz. W wyniku tego większość narzędzi przetwarzających pliki PBM ignoruje (nie czyta) danych po pierwszym obrazie.
libnetpbm(1) , pnm(1) , pgm(1) , ppm(1) , pam(1) , programy, które przetwarzają PBM
Niniejszą stronę podręcznika wygenerowano za pomocą narzędzia Netpbm „makeman” ze źródeł HTML. Główna dokumentacja jest dostępna pod adresem
Tłumaczenie niniejszej strony podręcznika: Przemek Borys <pborys@dione.ids.pl>, Robert Luberda <robert@debian.org> i Michał Kułach <michal.kulach@gmail.com>
Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net.
| 27 czerwca 2024 r. | dokumentacja netpbm |