.\" -*- coding: UTF-8 -*-
.\" This man page was generated by the Netpbm tool 'makeman' from HTML source.
.\" Do not hand-hack it!  If you have bug fixes or improvements, please find
.\" the corresponding HTML page on the Netpbm website, generate a patch
.\" against that, and send it to the Netpbm maintainer.
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.TH "Format PBM" 5 "27 czerwca 2024 r." "dokumentacja netpbm" 

.SH NAZWA

pbm \- dwupoziomowy format obrazu Netpbm

.UN description
.SH OPIS
.PP
Program jest częścią \fBNetpbm\fP(1).
.PP
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.
.PP
Nazwa \[Bq]PBM\[rq] jest akronimem, pochodzącym od słów \[Bq]Przenośna
BitMapa\[rq].
.PP
Nie jest to format, którego ktokolwiek normalnie by użył do przechowywania
pliku lub do przesłania go do kogoś innego \(em 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.

.UN layout
.SH UKŁAD
.PP
Definicja formatu jest następująca:
.PP
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.
.PP
W skład każdego obrazu PBM wchodzą:



.IP \(bu
"Numer magiczny", identyfikujący rodzaj pliku. Numerem magicznym pliku pbm
są dwa znaki: "P4".

.IP \(bu
Biała spacja (spacje, tabulacje, CR, LF).

.IP \(bu
Szerokość obrazu pikselach, sformatowana jako dziesiętne znaki ASCII.

.IP \(bu
Biała spacja.

.IP \(bu
Wysokość obrazu w pikselach, znów jako dziesiętne znaki ASCII.

.IP \(bu
Pojedynczy znak białej spacji (zwykle znak nowego wiersza).

.IP \(bu
Raster o liczbie wierszy określonej przez wysokość obrazu, od góry do
dołu. Każdy wiersz składa się z bitów w liczbie zadanej przez szerokość
obrazu. Bity są pakowane po 8 w bajt. Ostatni bajt w wierszu jest wypełniony
nieznaczącymi bitami. Każdy bit reprezentuje piksel: 1 to czarny, a 0 to
biały. Porządek pikseli jest od lewej do prawej. Porządek ich przechowywania
w każdym bajcie pliku jest od najbardziej znaczącego bitu do najmniej
znaczącego. Porządek bajtów w pliku jest od początku pliku do końca pliku.
.sp
Wiersz jest poziomy. Kolumna jest pionowa. Piksele w obrazie są kwadratowe i
ciągłe.

.IP \(bu
Przed białym znakiem ograniczającym raster, wszelkie znaki rozpoczynające
się od "#" aż do następnego znaku (z jego wyłączeniem): powrotu karetki,
nowego wiersza lub końca pliku, są ignorowane.
.sp
(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ł).
  

.PP
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) \[em] tj. to, co funkcja
isspace() standardu C ANSI nazywa białym znakiem.


.UN plainpbm
.SS "Prosty PBM"
.PP
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.
.PP
Program Netpbm tworzy domyślnie Surowy format PBM zamiast Prostego PBM, lecz
.UR index.html#commonoptions
opcja ogólna
.UE
\& \fB\-plain\fP wybiera
Prosty PBM.
.PP
Różnice to:

.IP \(bu
Plik zawiera dokładnie jeden obraz.
.IP \(bu
"Magiczny numer" to "P1" zamiast "P4".
.IP \(bu
Każdy piksel w rastrze jest reprezentowany przez bajt zawierający znaki
ASCII: "1" lub "0", oznaczające odpowiednio kolor czarny lub biały. Koniec
wiersza nie zawiera bitów wyrównania.
.IP \(bu
Biała spacja w sekcji rastra jest ignorowana.
.IP \(bu
Po zakończeniu sekcji rastra można podać dowolne śmieci, jakie tylko się
chce, pod warunkiem, że zaczynają się od białej spacji.
.IP \(bu
Linia nie powinna być dłuższa niż 70 znaków.


Oto przykład małego obrazu w prostym formacie PBM:
.nf
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

.fi
.PP
Na końcu każdego wiersza znajduje się znak nowego wiersza.
.PP
Program \fBpnmtoplainpnm\fP  umożliwia wygenerowanie Prostego formatu PBM z
regularnego formatu PBM (tylko pierwszy obraz).
.PP
Programy, odczytujące ten format powinny być jak najwyrozumialsze,
przyjmując wszystko, co z daleka wygląda na bitmapę.


.UN internetmediatype
.SH "IDENTYFIKATOR INTERNETOWY (MIME)"
.PP
Dla formatu PBM nie zarejestrowano internetowego identyfikatora formatu
danych (Internet Media Type \[em] MIME) w IANA, lecz konwencjonalna jest
wartość \f(CWimage/x\-portable\-bitmap\fP.
.PP
Proszę zauważyć, że \f(CWimage/x\-portable\-anymap\fP dotyczy też PNM.


.UN filename
.SH "NAZWA PLIKU"
.PP
Nie ma wymagań odnośnie nazwy pliku PBM, lecz przyjęło się rozszerzenie
\[Bq].pbm\[rq]. Konwencjonalne jest również \[Bq]pnm\[rq] w przypadkach, gdy
nie jest wygodne rozróżnianie pomiędzy danymi podformatami PNM.


.UN compatibility
.SH ZGODNOŚĆ
.PP
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.

.UN seealso
.SH "ZOBACZ TAKŻE"
\fBlibnetpbm\fP(1)  \&, \fBpnm\fP(1)  \&, \fBpgm\fP(1)  \&, \fBppm\fP(1)  \&, \fBpam\fP(1)
\&, programy, które przetwarzają PBM
.SH "ŹRÓDŁO DOKUMENTU"
Niniejszą stronę podręcznika wygenerowano za pomocą narzędzia Netpbm
\[Bq]makeman\[rq] ze źródeł HTML. Główna dokumentacja jest dostępna pod
adresem
.IP
\fBhttp://netpbm.sourceforge.net/doc/pbm.html\fP
.PP
.PP
.SH TŁUMACZENIE
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>
.
.PP
Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach
licencji można uzyskać zapoznając się z
.UR https://www.gnu.org/licenses/gpl-3.0.html
GNU General Public License w wersji 3
.UE
lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.
.PP
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy
dyskusyjnej
.MT manpages-pl-list@lists.sourceforge.net
.ME .
