.\" -*- 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 "Dokumentacja formatu PPM" 5 "9 października 2016 r" "dokumentacja netpbm" 

.SH NAZWA

PPM \- format obrazu kolorowego Netpbm

.UN description
.SH OPIS
.PP
Program jest częścią \fBNetpbm\fP(1).
.PP
Jest to prosty format PPM przeznaczony do obrazów kolorowych.
.PP
Należy zauważyć, że ten format jest strasznie niewydajny. Jest bardzo
rozwlekły i zawiera wiele informacji, których ludzkie oko nie jest w stanie
dostrzec. Co więcej, oprócz podstawowych kolorów format nie dostarcza więcej
innych informacji, co oznacza, że oprócz pliku w tym formacie trzeba w innym
miejscu przechowywać pozostałe informacje, tak żeby można było z tego
sensownie korzystać. Jednakże w bardzo łatwy sposób można napisać i
analizować programy przetwarzające ten format \- i to jest główna zaleta.
.PP
Należy także zauważyć, że często pliki są zgodne z tym formatem pod każdym
względem, z wyjątkiem precyzyjnego znaczenia wartości próbek. Pliki te są
użyteczne z powodu sposobu, w jakim PPM jest używany jako format
pośredni. Nieformalnie są nazywane plikami PPM, ale żeby być absolutnie
precyzyjnym należałoby je nazywać wariantami prawdziwego PPM. Na przykład
\[Bq]PPM używający takich kolorów czerwonego, zielonego i niebieskiego,
których używa dany skaner\[rq].
.PP
Nazwa \[Bq]PPM\[rq] jest akronimem słów \[Bq]Przenośna Mapa Pikseli\[rq]
(\[Bq]Portable Pixel Map\[rq]). Obrazy w tym formacie (lub jego
poprzednikach) były niegdyś zwane również \[Bq]przenośnymi pixmapami\[rq].

.UN format
.SH FORMAT
.PP
Definicja formatu jest jak następuje. Można skorzystać z biblioteki
podprogramu C \fBlibnetpbm\fP(1), aby łatwo i dokładnie odczytywać i
interpretować format.
.PP
Plik PPM składa się z sekwencji jednego lub więcej obrazów PPM. 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 PPM wchodzą:


.IP \(bu
"Numer magiczny", określający rodzaj pliku. Numerem magicznym ppm są dwa
znaki: "P6".
.IP \(bu
Biała spacja (spacje, tabulacje, CR, LF).
.IP \(bu
Szerokość, sformatowana jako dziesiętne znaki ASCII.
.IP \(bu
Biała spacja.
.IP \(bu
Wysokość, sformatowana jako dziesiętne znaki ASCII.
.IP \(bu
Biała spacja.
.IP \(bu
Maksymalna wartość komponentu kolorowego (maxval), znów jako dziesiętne
ASCII. Musi być mniejsza od 65536 i większa od zera.

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

.IP \(bu
Raster o rozmiarze Wysokości wierszy, w kolejności od góry do dołu. Każdy
wiersz składa się z Szerokości pikseli, od lewej do prawej. Każdy piksel
jest trójką kolorów czerwonego, zielonego i niebieskiego, w tej właśnie
kolejności. Każda próbka jest reprezentowana binarnie albo na jednym bajcie
albo na dwóch bajtach. Jeśli wartość maksymalna jest mniejsza niż 256,
będzie to jeden bajt. W przeciwnym wypadku są używane dwa bajty. Najbardziej
znaczący bajt jest podawany pierwszy.
.sp
Wiersz jest poziomy. Kolumna jest pionowa. Piksele w obrazie są kwadratowe i
ciągłe.
.sp
W rastrze wartości próbek są \[Bq]nieliniowe\[rq]. Są proporcjonalne do
natężenia ITU\-R Recommendation BT.709 kolorów czerwonego, zielonego i
niebieskiego w pikselu, wyrównanego przez funkcję transferu gamma
BT.709. (Ta funkcja transferu określa numer gamma jako 2.2 i ma liniową
sekcję dla niskich intensywności). Maksymalna wartość tych trzech próbek
reprezentuje kolor biały CIE D65 i najbardziej intensywny kolor w uniwersum
kolorów, którego częścią jest ten obraz (uniwersum kolorów oznacza wszystkie
możliwe kolory we wszystkich obrazach, z którymi można by porównać bieżący
obraz).
.sp
Zakres BT.709 wartości kanałów (16\-240) jest bez znaczenia w PPM.
.sp
ITU\-R Recommendation BT.709 jest zmienioną nazwą wcześniejszej CCIR
Recommendation 709. Gdy CCIR została wchłonięta w swoją organizację
nadrzędną, ITU, około roku 2000, standard został przemianowany. Ten dokument
odnosił się niegdyś do tego standardu jako CIE Rec. 709, lecz nie jest
obecnie jasne, czy był to w ogóle standard CIE.
.sp
Proszę zauważyć, że inną popularną przestrzenią barw jest nowsza
sRGB. Częstym wariantem PPM jest taki, w którym przestrzeń kolorów jest
przez nią zastępowana. Można korzystać z programu \fBpnmgamma\fP do
przekształceń pomiędzy tym wariantem a prawdziwym PPM.
.sp
Proszę zauważyć, że zwyczajową wariacją formatu PPM jest \[Bq]liniowe\[rq]
wymienianie wartości próbek, tj. tak jak podano powyżej, z wyjątkiem braku
wyrównania gamma. \fBpnmgamma\fP potrafi przyjąć plik PPM w takim wariancie na
wejściu i wyprodukować prawdziwy plik PPM na wyjściu.


.PP
Łańcuchy zaczynające się od znaku \[Bq]#\[rq] mogą być komentarzami, tak
samo jak w \fBPBM\fP(1).
.PP
Proszę zauważyć, że można użyć \fBpamdepth\fP do konwersji pomiędzy formatami
używającymi 1 bajtu na próbkę i 2 bajtów na próbkę.
.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 plainppm
.SS "Prosty PPM"
.PP
Istnieje także jeszcze jedna, dość rzadko spotykana, wersja formatu PPM:
\[Bq]prosty\[rq] format PPM. Format opisany powyżej, który generalnie uważa
się za zwykły format, jest znany jako format "surowy". \fBpbm\fP(1) zawiera
komentarze na temat relacji pomiędzy formatem prostym a surowym oraz sposobu
ich użycia.
.PP
Różnice w prostym formacie są następujące:


.IP \(bu
Plik zawiera dokładnie jeden obraz.
.IP \(bu
\[Bq]Magiczny numer\[rq] to \[Bq]P3\[rq] zamiast \[Bq]P6\[rq].
.IP \(bu
Każda próbka w rastrze jest reprezentowana jako numer dziesiętny ASCII
(dowolnego rozmiaru).
.IP \(bu
Każda próbka w rastrze ma biały znak przed i po. Pomiędzy dwoma dowolnymi
próbkami musi występować przynajmniej jeden biały znak, ale nie ma górnego
ograniczenia na liczbę białych znaków. Piksele nie są od siebie rozdzielane
w jakiś szczególny sposób \[em] wystarczy obowiązkowa separacja pomiędzy
próbką białą jednego piksela a próbką czerwoną kolejnego piksela.
.IP \(bu
Linia nie powinna być dłuższa niż 70 znaków.

.PP
Oto przykład małego obrazu w tym formacie:
.nf
P3
# feep.ppm
4 4
15
 0  0  0    0  0  0    0  0  0   15  0 15
 0  0  0    0 15  7    0  0  0    0  0  0
 0  0  0    0  0  0    0 15  7    0  0  0
15  0 15    0  0  0    0  0  0    0  0  0

.fi
.PP
Na końcu każdego wiersza znajduje się znak nowego wiersza.
.PP
Programy, które odczytują ten format, powinny być jak najwyrozumialsze,
akceptując wszystko, co z daleka wygląda na obraz PPM.


.UN internetmediatype
.SH "IDENTYFIKATOR INTERNETOWY (MIME)"
.PP
Dla formatu PPM nie zarejestrowano internetowego identyfikatora formatu
danych (Internet Media Type \[em] MIME) w IANA, lecz konwencjonalna jest
wartość \f(CWimage/x\-portable\-pixmap\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 PPM, lecz przyjęło się rozszerzenie
\[Bq]ppm\[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 kwietniem 2000 roku, plik w surowym formacie PPM nie mógł mieć
maksymalnej wartości większej niż 255. Dlatego nie mógł przechowywać więcej
niż jednego bajtu na próbkę. Stare programy mogą od tego zależeć.
.PP
Przed lipcem 2000 roku plik PPM mógł zawierać tylko jeden obraz. W wyniku
tego większość narzędzi przetwarzających pliki PPM ignoruje (nie czyta)
danych po pierwszym obrazie.

.UN seealso
.SH "ZOBACZ TAKŻE"
\fBpnm\fP(1), \fBpgm\fP(1), \fBpbm\fP(1), \fBpam\fP(1); programy, które przetwarzają PPM
.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/ppm.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 .
