Provided by: manpages-pl_4.13-4_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 są: Przemek  Borys  <pborys@dione.ids.pl>  i
       Robert Luberda <robert@debian.org>

       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.

                                                 8 kwietnia 2000                                          ppm(5)