Provided by: manpages-pl_0.7-2_all bug

NAZWA

       ppm - przenośny format pixmap

OPIS

       Jest to prosty format pixmapowy przeznaczony do obrazów kolorowych.

       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.

       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 "PPM używający takich kolorów czerwonego, zielonego i niebieskiego, których używa
       dany skaner".

       Definicja formatu jest następująca:

       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.

       W skład każdego obrazu PPM wchodzą:

       - "Numer magiczny", określający rodzaj pliku. Numerem magicznym ppm są dwa znaki: "P6".

       - Biała spacja (spacje, tabulacje, CR, LF).

       - Szerokość, sformatowana jako dziesiętne znaki ASCII.

       - Biała spacja.

       - Wysokość, sformatowana jako dziesiętne znaki ASCII.

       - Biała spacja.

       - Maksymalna wartość komponentu kolorowego (maxval), znów jako dziesiętne ASCII. Musi  być
         mniejsza od 65536.

       - Znak nowej linii lub inny znak białej spacji.

       - Raster  o  rozmiarze  szerokość  *  wysokość  pikseli, przetwarzany w normalnym porządku
         czytania tekstu. 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.

       - W rastrze wartości próbek są "nieliniowe". Są proporcjonalne do natężenia CIE  Rec.  709
         kolorów  czerwonego,  zielonego  i  niebieskiego  w  pikselu,  wyrównanego przez funkcję
         transferu gamma CIE Rec. 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).

       - Proszę zauważyć, że zwyczajową wariacją formatu PPM jest "liniowe" wymienianie  wartości
         próbek, tj. tak jak podano powyżej, z wyjątkiem braku wyrównania gamma. pnmgamma potrafi
         przyjąć plik PPM w takim wariancie na wejściu  i  wyprodukować  prawdziwy  plik  PPM  na
         wyjściu.

       - Znaki od "#" do znaku końca linii, przed linią maxval są ignorowane jako komentarze.

       Proszę  zauważyć,  że  można  użyć  pnmdepth do konwersji pomiędzy formatami używającymi 1
       bajtu na próbkę i 2 bajtów na próbkę.

       Istnieje także jeszcze jedna, dość rzadko spotykana, wersja formatu PPM:  "czysty"  format
       PPM.  Format opisany powyżej, który generalnie uważa się za zwykły format, jest znany jako
       format "surowy". pbm(5) zawiera komentarze na temat relacji pomiędzy  formatem  czystym  a
       surowym.

       Różnice w prostym formacie są następujące:

       - Plik zawiera dokładnie jeden obraz.

       - "Magiczny numer" to "P3" zamiast "P6".

       - Każda  próbka  w  rastrze  jest  reprezentowana  jako  numer dziesiętny ASCII (dowolnego
         rozmiaru).

       - 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  --
         wystarczy  obowiązkowa separacja pomiędzy próbką białą jednego piksela a próbką czerwoną
         kolejnego piksela.

       - Linia nie powinna być dłuższa niż 70 znaków.

       Oto przykład pixmapy w tym formacie:
       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

       Programy, które  odczytują  ten  format,  powinny  być  jak  najwyrozumialsze,  akceptując
       wszystko, co z daleka wygląda na pixmapę.

ZGODNOŚĆ

       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ć.

       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.

ZOBACZ TAKŻE

       giftopnm(1),   gouldtoppm(1),   ilbmtoppm(1),   imgtoppm(1),   mtvtoppm(1),   pcxtoppm(1),
       pgmtoppm(1),    pi1toppm(1),    picttoppm(1),    pjtoppm(1),   qrttoppm(1),   rawtoppm(1),
       rgb3toppm(1),   sldtoppm(1),   spctoppm(1),   sputoppm(1),    tgatoppm(1),    ximtoppm(1),
       xpmtoppm(1),    yuvtoppm(1),   ppmtoacad(1),   ppmtogif(1),   ppmtoicr(1),   ppmtoilbm(1),
       ppmtopcx(1),   ppmtopgm(1),   ppmtopi1(1),   ppmtopict(1),    ppmtopj(1),    ppmtopuzz(1),
       ppmtorgb3(1),   ppmtosixel(1),   ppmtotga(1),   ppmtouil(1),   ppmtoxpm(1),   ppmtoyuv(1),
       ppmdither(1), ppmforge(1), ppmhist(1), ppmmake(1), ppmpat(1), ppmquant(1), ppmquantall(1),
       ppmrelief(1), pnm(5), pgm(5), pbm(5)

AUTOR

       Copyright (C) 1989, 1991 Jef Poskanzer.

TŁUMACZENIE

       Autorami  polskiego  tłumaczenia niniejszej strony podręcznika man są: Przemek Borys (PTM)
       <pborys@dione.ids.pl> i Robert Luberda <robert@debian.org>.

       Polskie tłumaczenie jest częścią projektu manpages-pl; uwagi, pomoc, zgłaszanie błędów  na
       stronie   http://sourceforge.net/projects/manpages-pl/.   Jest   zgodne   z  wersją   10.0
       oryginału.

                                         8 kwietnia 2000                                   ppm(5)