Hordozható anymap

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2020. február 23-án felülvizsgált verziótól ; az ellenőrzéshez 1 szerkesztés szükséges .
hordozható pixmap
Kiterjesztés .pnm[egy]
MIME típusú Az image/x-portable-pixmap, -graymap, -bitmap, -anymap mind nem hivatalos
Fejlesztő Poscanzer, Jeff
Formátum típusa Grafikus formátumok
 Médiafájlok a Wikimedia Commons oldalon

Az egyszerű hordozható pixmap képtárolási formátumok (néha PNM -nek is nevezik ): színes (PPM), szürkeárnyalatos (PGM) és fekete-fehér (PBM) határozzák meg a grafikus fájlok cseréjének szabályait. Ezek a formátumok az adatok köztes megjelenítését biztosítják a három felsorolt ​​típusú bittérképes grafikus fájlok különböző platformok közötti konvertálásakor. Egyes alkalmazások közvetlenül támogatják ezt a három formátumot azáltal, hogy PNM (hordozható anymap) formátumként határozzák meg őket. A PPM formátumot Jeff Poskanzer fejlesztette ki . 

A fájlformátum leírása

Nézzünk egy példát a "J" betű bittérképére :

....X. ....X. ....X. ....X. ....X. ....X. X...X. .XXX... ...... ......

A PBM formátum ezt a példát a következő formában ábrázolja:

P1 # Ez egy példa a j.pbm bittérkép fájlra 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

A P1 sor határozza meg a fájlformátumot. A font jel (#) választja el a megjegyzést. A következő két szám a szélesség és a magasság. Ezután a pixelértékek mátrixa következik (monokróm kép esetén, mint ebben a példában, csak nullák és egyesek).

Az eredményül kapott kép: . Íme, 20-szorosra nagyítva:

Használat a Netpbm-ben

A Netpbm csomag például két konverziós programot használhat egymás után, hogy ezt a kódot BMP -fájllá alakítsa :

pgmtoppm "#FFFFFF" j.pbm > j.ppm ppmtobmp j.ppm > j.bmp

A felismert fájlformátumtól függően a hordozható pixmap egyszerű grafikus fájlrendszer három hasonló fájlformátumot tud megkülönböztetni, mindegyik két változatban:

Az alacsonyabb verzió (P1, P2 vagy P3) minden esetben az ember által olvasható, ASCII -alapú formátumokra vonatkozik, amelyek hasonlóak a jelen cikk példájában bemutatottakhoz. A felső verziók (P4, P5 és P6) pedig olyan bináris formátumok, amelyek kevésbé elemezhetőek, de hatékonyabban takarítanak meg helyet a fájlban, és a szóközök hiánya miatt jobban értelmezhetők.

16 bites kiterjesztés

Kezdetben a PGM és PPM bináris formátumok (P5 és P6) 8 bitnél nem nagyobb bitmélységet támogattak. Természetesen lehetett ASCII formátumokat is használni, de ezek használata növeli a méretet és lassítja a fájlok olvasását. Ennek eredményeként sok fejlesztő megpróbálta kiterjeszteni a formátumot a nagyobb bitmélység támogatására. Nagyobb mélység használatakor a bájtok sorrendjének (Endianness) problémájával kell szembenéznünk a fájlban. A különböző alkalmazások egyik végpontjában sem következetesek. A Netpbm de facto nagy rendet használ, amikor PNM-mel dolgozik . 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

PPM példa

P3 # P3 azt jelenti, hogy a színek ASCII-ben vannak, #, majd az oszlopok és sorok számát jelző számok (3 oszlop és 2 sor), #255 a maximális színértékhez, # majd RGB tripletek 3 2 255 255 0 0 0 255 0 0 0 255 255 255 0 255 255 255 0 0 0

Kép (nagyítva):

Ugyanannak a képnek a P6 formátuma a szín minden színösszetevőjét egy bájtban tárolja (azaz három bájtban pixelenként). A fájl kisebb lesz, de a színinformációkat egy ilyen fájl megtekintésekor a személy nem érzékeli közvetlenül:

P6 #lehetséges kommentsor itt 3 2 255 !@#$%^&*()_+|{}:"<

A PPM formátum tömörítetlen, így a benne lévő fájlok nagyok. Például egy 192x128-as PNG-kép 552 bájt méretű lehet. A PPM-re konvertálás után a fájl mérete 73 848 bájt lesz.

A PPM formátum elég egyszerű ahhoz, hogy olyan kódot írjon, amely képes olvasni és írni az adatokat ebben a formátumban.

Lásd még

Linkek

  1. FÁJL NÉV // A PNM formátum