.\" -*- coding: UTF-8 -*-
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.TH pgm 5 "12 listopada 1991"  
.SH NAZWA
pgm \- przenośny format szarej bitmapy

.SH OPIS
Format PGM jest najmniejszym wspólnym mianownikiem plików w formacie odcieni
szarości.
.IX "Format pliku PGM"
Został zaprojektowany, aby był niezmiernie łatwy do nauczenia i pisania
programów jego obsługi. (Jest tak prosty, że większość ludzi po prostu
zastosuje inżynierię\ odwrotną ponieważ jest to prostsze niż czytanie tej
dokumentacji).

Obraz PGM reprezentuje graficzny obraz w odcieniach szarości. Istnieje wiele
formatów pseudo\-PGM, różniących się od opisanego tutaj znaczeniem
poszczególnych wartości pikseli. Dla większości celów obraz PGM można sobie
wyobrazić jako tablicę dowolnych liczb typu integer, i wszystkie programy
świata, które myślą, że przetwarzają obraz w odcieniach szarości, mogą
być\ prosto oszukane, by procesować cokolwiek innego.

Jednym z oficjalnych wariantów PGM jest maska przezroczystości. W bibliotece
netpbm maska przezroczystości jest reprezentowana przez obraz PGM, który
zamiast intensywności pikseli ma zapisane wartości
nieprzezroczystości. Patrz niżej.

.PP
Definicja formatu jest następująca:
.PP
Plik PGM składa się\ z sekwencji jednego lub więcej obrazów PGM. 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 PGM wchodzą:
.IP \- 2
"Numer magiczny", identyfikujący rodzaj pliku. Numerem magicznym pliku pgm
są dwa znaki: "P5".
.IX "Numery magiczne"
.IP \- 2
Biała spacja (spacje, tabulacje, CR, LF).
.IP \- 2
Szerokość, sformatowana jako dziesiętne znaki ASCII.
.IP \- 2
Biała spacja.
.IP \- 2
Wysokość, sformatowana jako dziesiętne znaki ASCII.
.IP \- 2
Biała spacja.
.IP \- 2
Maksymalna wartość szarości (maxval), znów jako dziesiętne ASCII. Musi być
mniejsza od 65536.
.IP \- 2
Znak nowej linii lub inny znak białej spacji.
.IP \- 2
Raster o rozmiarze szerokość * wysokość wartości szarości, przetwarzany w
normalnym porządku czytania tekstu. Każda wartość szarości jest liczbą od
zera do pewnej wartości maksymalnej, gdzie 0 oznacza czerń, a wartość
maksymalna \- biel. Każda wartość szarości 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.
.IP \- 2
Każda wartość szarości jest numerem proporcjonalnym do intensywności
piksela, wyrównanej 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). Wartość 0 oznacza czerń. Maksymalna wartość reprezentuje
kolor biały CIE D65 i najbardziej intensywny kolor w obrazie i w
jakimkolwiek innym obrazie, z którym można by porównać bieżący obraz.
.IP \- 2
Proszę zauważyć, że zwyczajową wariacją formatu PGM jest "liniowe"
wymienianie wartości szarości, tj. tak jak podano powyżej, z wyjątkiem braku
wyrównania gamma. \fBpnmgamma\fP potrafi przyjąć plik PGM w takim wariancie na
wejściu i wyprodukować prawdziwy plik PGM na wyjściu.
.IP \- 2
W wariacji PGM zawierającej maskę przezroczystości wartość reprezentuje
poziom nieprzejrzystości. Jest proporcjonalna do ułamka intensywności
piksela, który by się pojawił zamiast podstawowego piksela, z zaaplikowaną
taką samą funkcją transferu gamma, jak opisana powyżej. Tak więc to, co
normalnie oznacza kolor biały, oznacza tu całkowitą nieprzezroczystość, a to
co normalnie oznacza czerń, reprezentuje całkowitą przezroczystość. Pomiędzy
tymi wartościami należy sobie obliczyć intensywność piksela złożonego z
pikseli "poniżej" i "powyżej". używając wzoru: poniżej * 1
(1\-(alpha/alpha_maxval)) + powyżej * (alpha/alpha_maxval).
.IP \- 2
Znaki od "#" do znaku końca linii, przed linią maxval są ignorowane jako
komentarze.
.PP
Proszę zauważyć, że można użyć \fBpnmdepth\fP do konwersji pomiędzy formatami
używającymi 1 bajtu na wartość szarości i 2 bajtów na wartość szarości.
.PP
Istnieje także jeszcze jedna, dość rzadko spotykana, wersja formatu PGM:
"czysty" format PGM. Format opisany powyżej, który generalnie uważa się za
zwykły format, jest znany jako format "surowy" PGM. \fBpbm\fP(5) zawiera
komentarze na temat relacji pomiędzy formatem czystym a surowym.
.PP
Różnice w prostym formacie są następujące:
.IP \- 2
Plik zawiera dokładnie jeden obraz.
.IP \- 2
"Magiczny numer" to "P2" zamiast "P5".
.IP \- 2
Każda piksel w rastrze jest reprezentowany jako numer dziesiętny ASCII
(dowolnego rozmiaru).
.IP \- 2
Każdy piksel w rastrze ma biały znak przed i po. Pomiędzy dwoma dowolnymi
pikselami musi występować przynajmniej jeden biały znak, ale nie ma górnego
ograniczenia na liczbę białych znaków.
.IP \- 2
Linia nie powinna być dłuższa niż 70 znaków.
.PP
Oto przykład małego obrazka w tym formacie:
.nf
P2
# feep.pgm
24 7
15
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  3  3  3  3  0  0  7  7  7  7  0  0 11 11 11 11  0  0 15 15 15 15  0
0  3  0  0  0  0  0  7  0  0  0  0  0 11  0  0  0  0  0 15  0  0 15  0
0  3  3  3  0  0  0  7  7  7  0  0  0 11 11 11  0  0  0 15 15 15 15  0
0  3  0  0  0  0  0  7  0  0  0  0  0 11  0  0  0  0  0 15  0  0  0  0
0  3  0  0  0  0  0  7  7  7  7  0  0 11 11 11 11  0  0 15  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
Programy, które odczytują ten format powinny być jak najwyrozumialsze,
akceptując wszystko, co z daleka wygląda jak mapa szarości.

.SH ZGODNOŚĆ

Przed kwietniem 2000 roku, plik w surowym formacie PGM 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 PGM mógł zawierać tylko jeden obraz. W wyniku
tego większość narzędzi przetwarzających pliki PGM ignoruje (nie czyta)
danych po pierwszym obrazie.

.SH "ZOBACZ TAKŻE"
fitstopgm(1), fstopgm(1), hipstopgm(1), lispmtopgm(1), psidtopgm(1),
rawtopgm(1), pgmbentley(1), pgmcrater(1), pgmedge(1), pgmenhance(1),
pgmhist(1), pgmnorm(1), pgmoil(1), pgmramp(1), pgmtexture(1), pgmtofits(1),
pgmtofs(1), pgmtolispm(1), pgmtopbm(1), pnm(5), pbm(5), ppm(5)
.SH AUTOR
Copyright (C) 1989, 1991 Jef Poskanzer.
.\" Permission to use, copy, modify, and distribute this software and its
.\" documentation for any purpose and without fee is hereby granted, provided
.\" that the above copyright notice appear in all copies and that both that
.\" copyright notice and this permission notice appear in supporting
.\" documentation.  This software is provided "as is" without express or
.\" implied warranty.

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

Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy
dyskusyjnej
.MT manpages-pl-list@lists.sourceforge.net
.ME .
