Portable Pixmap (.ppm)
Netpbm StandartsPortable Pixmap formāts (PPM) ir Netpbm grafikas saimes pilnas krāsu gammas RGB standarts, kas nodrošina vienkāršāko iespējamo nesaspiesto Truecolor digitālo attēlu attēlojumu.
Pārbaudīt un metadati
Operētājsistēmas un failu analizatori identificē PPM failus, pārbaudot sākotnējo bināro baitu secību:
Baitu līmeņa galvenes paraksts (maģiskie baiti)
Operētājsistēmas un failu analizatori identificē PPM failus, pārbaudot sākotnējo bināro baitu secību:
HEKSADECIMĀLAIS PARAKSTS (NOBĪDE 0):
50 33 / 50 36ASCII ATTEIOLOJUMS: P3 / P6
Standartizācija: Netpbm Library Standard
Tehniskās specifikācijas
| Konteinera arhitektūra | ASCII (P3) or binary (P6) Netpbm format with width, height, maximum color value, and RGB triplet stream |
| Saspiešana | Uncompressed raw binary bytes or human-readable ASCII text triplets |
| Baitu secība | Big-Endian (for 48-bit 16-bit/channel samples in P6 mode) |
| Krāsu telpas | Linear RGB or standard sRGB |
| Kanāli un struktūra | 3 channels RGB (24-bit or 48-bit Truecolor) |
| Maks. izmēri | Practically unlimited (supports arbitrary 64-bit coordinate space) |
| Caurspīdīgums | None (standard PPM is strictly opaque RGB) |
| Straumēšana un progresīvā ielāde | Sequential row-by-row streaming playback |
Tehniskā salīdzinājuma matrica: PPM pret konkurentiem
| Tehniskais atribūts | PPM (Pašreizējais) | BMP | PNG | TIFF |
|---|---|---|---|---|
| Krāsu dziļums | 24 bitu / 48 bitu RGB Truecolor | No 1 līdz 32 bitu RGBA | 24 bitu / 48 bitu RGBA | No 8 līdz 64 bitu RGBA |
| Netpbm radinieks | PPM (Portable Pixmap) | Nav Netpbm formāts | Nav Netpbm W3C formāts | Nav Netpbm Adobe formāts |
| Maģiskie baiti | P3 (ASCII) / P6 (Binārais) | BM (0x42 0x4D) | ‰PNG.... | II*\0 vai MM\0* |
| Saspiešana | Nesaspiests | Nesaspiests / RLE | Bezzudumu Deflate (~70% mazāks) | LZW / Deflate / Zip |
Biežākie bojājumu veidi un heksadecimālās atkopšanas ceļvedis
Attēls tiek renderēts ar diagonālu krāsu kanālu nobīdi.
Pamatcēlonis: Apgriezts baits RGB tripletu plūsmā, kas izraisa nākamo sarkano, zaļo un zilo baitu nepareizu izlīdzināšanos.
Atkopšana: Atkārtoti izlīdziniet RGB tripletu nobīdes vai konvertējiet, izmantojot File2File Netpbm konvertoru.
Drošības analīze un parsētāja uzbrukuma vektori
PPM dekoderiem ir jāuzmanās no veselu skaitļu pārpildes, aprēķinot 3 baitu RGB tripletu bufera izmērus.
Zināmie uzbrukuma vektori
- Veselu skaitļu pārpilde platuma * augstuma * 3 bufera piešķires laikā.
- Bufera pārlasīšana, lasot bojātus ASCII marķierus P3 režīmā.
- Pakalpojuma atteice (DoS) pārmērīgu atmiņas piešķires deklarāciju dēļ.
Aizsardzības labākā prakse:
Vēsturiskā izcelsme un pavērsieni
Galvenās priekšrocības un plusi
- Absolūta arhitektūras vienkāršība: lai lasītu, rakstītu vai apstrādātu, nav nepieciešamas nekādas saspiešanas bibliotēkas.
- ASCII režīms (P3) ļauj programmētājiem tieši tekstredaktorā skatīt, kopēt un rediģēt neapstrādātas RGB krāsu vērtības.
- Standarta starpformāts, ko izmanto universitāšu datorgrafikas kursos un staru izsekošanas (raytracer) projektos.
Tehniskie ierobežojumi un mīnusi
- Milzīgi failu izmēri saspiešanas trūkuma dēļ (4K fotoattēls aizņem aptuveni 25 megabaitus).
- Neefektīvs izplatīšanai tīmeklī vai pārsūtīšanai tīklā.
- Nav atbalsta alfa caurspīdīgumam vai iegultajiem krāsu profiliem.
Interesanti tehniski fakti
- Gandrīz katrs datorzinātņu students, kurš uzraksta programmatūras staru izsekotāju, savus pirmos attēlus renderē PPM formātā.
- ASCII PPM ('P3') formātā attēls burtiski ir skaitļu teksta fails: '255 0 0' sarkanajai krāsai, '0 255 0' zaļajai, '0 0 255' zilajai.
- Netpbm komplekts sākotnēji tika izplatīts uz 4.3BSD Unix lentu laidieniem 1980. gadu beigās.
Bieži uzdotie tehniskie jautājumi
Kāpēc datorzinātņu kursi izmanto PPM?
Tā kā PPM neprasa nekādas ārējas bibliotēkas vai sarežģītus saspiešanas algoritmus, tas ļauj studentiem apgūt datorgrafikas principus ar tīru, neapstrādātu pikseļu matemātiku.
Kāda ir atšķirība starp P3 un P6 PPM?
P3 saglabā RGB tripleti kā vienkāršus ASCII teksta skaitļus, savukārt P6 saglabā RGB tripleti kā neapstrādātus bināros baitus.
Kā es varu konvertēt PPM failu uz JPG vai PNG?
Varat konvertēt PPM failus uz PNG vai JPG tieši savā pārlūkprogrammā, izmantojot File2File.app, un neviens dati neatstāj jūsu ierīci.