
PPM (ang. portable pixmap), PBM (ang. portable bitmap) oraz PGM (ang. portable graymap) – formaty zapisu grafiki rastrowej, używane głównie do wymiany danych graficznych między różnymi narzędziami graficznymi. Wszystkie trzy formaty określane są wspólnie jako PNM (ang. portable anymap) i oznaczają:
Przykładowy tekstowy plik PBM przedstawiający literę J:
P1 # komentarz 6 10 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 0 0 0 0 0 1 0 1 0 0 0 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Plik zawiera kolejno:
Obowiązuje też kilka zasad odnośnie do zapisu:
Starsze programy mogą nie odczytywać prawidłowo plików PNM o maksymalnej wartości składowego koloru większej niż 255 (48-bitowych) zapisanych binarnie.
Netpbm to zestaw narzędzi do wsadowej konwersji i przetwarzania grafiki, operujący na plikach PNM. Pakiet składa się z wielu programów wykonujących proste czynności np.:
Aby utworzyć miniaturę pliku JPEG wystarczy wydać polecenie:
jpegtopnm plik.jpeg | pnmscale -xsize 64 | pnmtojpeg > minatura_plik.jpeg
Z pomocą powłoki bash można bardzo prosto utworzyć miniatury wszystkich plików JPEG w bieżącym katalogu:
for plik in *.jpeg *.jpg ; do jpegtopnm ${plik} | pnmscale -xsize 64 | pnmtojpeg > minatura_${plik} ; done