Portabil anymap

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită pe 23 februarie 2020; verificarea necesită 1 editare .
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 . 

Descrierea formatului de fișier

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 0

Linia 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:

Utilizare în Netpbm

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.

Extensie pe 16 biți

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

Exemplu PPM

P3 # P3 înseamnă că culorile sunt în ASCII, # urmat de numere care indică numărul de coloane și rânduri (3 coloane și 2 rânduri), #255 pentru valoarea maximă a culorii, # apoi triplete RGB 3 2 255 255 0 0 0 255 0 0 0 255 255 255 0 255 255 255 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.

Vezi și

Link -uri

  1. NUME FIȘIER // Formatul PNM