pixmap portabil | |
---|---|
Extensie | .pnm[unu] |
tip MIME | imagine/x-portable-pixmap, -graymap, -bitmap, -anymap sunt toate neoficiale |
Dezvoltator | Poscanzer, Jeff |
Tip de format | Formate grafice |
Fișiere media la Wikimedia Commons |
Formatele simple de stocare a imaginilor pixmap portabile (uneori denumite PNM ): color (PPM), tonuri de gri (PGM) și alb-negru (PBM) definesc regulile pentru schimbul de fișiere grafice. Aceste formate pot oferi o reprezentare intermediară a datelor la conversia fișierelor grafice bitmap din cele trei tipuri enumerate între diferite platforme. Unele aplicații acceptă direct aceste trei formate, definindu-le ca format PNM (portable anymap). Formatul PPM a fost dezvoltat de Jeff Poskanzer .
Să ne uităm la un exemplu de bitmap a literei „J”:
....X. ....X. ....X. ....X. ....X. ....X. X...X. .XXX.. ...... ......Formatul PBM reprezintă acest exemplu în următoarea formă:
P1 # Acesta este un exemplu de fișier hărți de biți j.pbm 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 0Linia P1 definește formatul fișierului. Semnul lire sterline (#) separă comentariul. Următoarele două numere sunt lățimea și înălțimea. Urmează apoi o matrice a valorilor pixelilor (în cazul unei imagini monocrome, ca în acest exemplu, doar zerouri și unu).
Imaginea rezultată: . Iată-l, mărit de 20 de ori:
Pachetul Netpbm poate, de exemplu, să folosească două programe de conversie succesive pentru a transforma acest cod într-un fișier BMP :
pgmtoppm "#FFFFFF" j.pbm > j.ppm ppmtobmp j.ppm > j.bmpÎn funcție de formatul de fișier recunoscut, sistemul de fișiere grafică simplu pixmap portabil poate face distincția între trei formate de fișiere similare, fiecare în două versiuni:
În fiecare caz, versiunea inferioară (P1, P2 sau P3) se referă la formate ASCII , care pot fi citite de om, similare cu cele prezentate în exemplul din acest articol. Iar versiunile superioare (P4, P5 și P6) sunt formate binare care sunt mai puțin analizabile, dar mai eficiente pentru economisirea spațiului în fișier și mai analizabile din cauza lipsei de spații.
Inițial, formatele binare PGM și PPM (P5 și P6) acceptau o adâncime de biți de cel mult 8 biți. Desigur, a fost posibil să se folosească formatele ASCII, dar utilizarea lor mărește dimensiunea și încetinește citirea fișierelor. Drept urmare, mulți dezvoltatori au încercat să extindă formatul pentru a accepta o adâncime mai mare de biți. Când folosim mai multă profunzime, ne confruntăm cu problema ordinii octeților (Endianness) în fișier. Diferitele aplicații nu sunt consecvente într-o singură endianitate. Netpbm utilizează de facto ordinea big-endian atunci când lucrează cu PNM . P6 3 3 255 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Imagine (mărită):
Formatul P6 pentru aceeași imagine va stoca fiecare componentă de culoare a unei culori într-un octet (adică, trei octeți per pixel). Fișierul va fi mai mic, dar informațiile de culoare la vizualizarea unui astfel de fișier nu vor fi percepute direct de către o persoană:
P6 #posibil linie de comentariu aici 3 2 255 !@#$%^&*()_+|{}:"<Formatul PPM este necomprimat, deci fișierele din el sunt mari. De exemplu, o imagine PNG de 192 x 128 poate avea o dimensiune de 552 de octeți. După convertirea acestuia în PPM, dimensiunea fișierului va fi de 73.848 de octeți.
Formatul PPM este suficient de simplu pentru a putea scrie cod care poate citi și scrie date în acest format.
containere media | |
---|---|
Video/Audio | |
Audio | |
Muzică | |
Raster | |
Vector | |
Complex |