Portable Pixmap (.ppm)
Netpbm StandardPortable Pixmap Format (PPM) on Netpbmi graafikaperekonna täisvärvilises RGB-standardis, mis pakub Truecolor-digipiltide jaoks lihtsaimat võimalikku pakkimata esitust.
Kontrolli ja metaandmed
Operatsioonisüsteemid ja failianalüsaatorid tuvastavad PPM faile, kontrollides algset binaarset baidijada:
Baidi-taseme päise allkiri (maagilised baidid)
Operatsioonisüsteemid ja failianalüsaatorid tuvastavad PPM faile, kontrollides algset binaarset baidijada:
HEX-ALLKIRI (NIHE 0):
50 33 / 50 36ASCII-ESITUS: P3 / P6
Standardiseerimine: Netpbm Library Standard
Tehnilised andmed
| Konteineri arhitektuur | ASCII (P3) or binary (P6) Netpbm format with width, height, maximum color value, and RGB triplet stream |
| Tihendamine | Uncompressed raw binary bytes or human-readable ASCII text triplets |
| Baitide järjekord (Endianness) | Big-Endian (for 48-bit 16-bit/channel samples in P6 mode) |
| Värviruumid | Linear RGB or standard sRGB |
| Kanalid ja struktuur | 3 channels RGB (24-bit or 48-bit Truecolor) |
| Max mõõtmed | Practically unlimited (supports arbitrary 64-bit coordinate space) |
| Läbipaistvus | None (standard PPM is strictly opaque RGB) |
| Voogedastus ja progressiivsus | Sequential row-by-row streaming playback |
Tehniline võrdlusmaatriks: PPM vs konkurendid
| Tehniline atribuut | PPM (Praegune) | BMP | PNG | TIFF |
|---|---|---|---|---|
| Värvisügavus | 24-bitine / 48-bitine RGB Truecolor | 1-bitine kuni 32-bitine RGBA | 24-bitine / 48-bitine RGBA | 8-bitine kuni 64-bitine RGBA |
| Netpbm-i sugulane | PPM (Portable Pixmap) | Netpbm-i mittekuuluv vorming | Netpbm-i mittekuuluv W3C vorming | Netpbm-i mittekuuluv Adobe vorming |
| Maagilised baidid (Magic Bytes) | P3 (ASCII) / P6 (Binaarne) | BM (0x42 0x4D) | ‰PNG.... | II*\0 või MM\0* |
| Tihendus | Tihendamata | Tihendamata / RLE | Kadudeta Deflate (~70% väiksem) | LZW / Deflate / Zip |
Levinud riknemisvead ja heksataaste juhend
Pilt renderdatakse diagonaalse värvikanali nihkega.
Juurpõhjus: Kärbitud bait RGB kolmiku voolus, mis põhjustab järgnevate punaste, roheliste ja siniste baitide paigast nihkumise.
Taastamine: Seadistage RGB kolmiku nihked uuesti või konverteerige File2File Netpbm konverteri abil.
Turvaanalüüs ja parsimisründevektorid
PPM-dekoodrid peavad kaitsma täisarvu ületäitumise (integer overflow) eest 3-baidiste RGB kolmiku puhvri suuruste arvutamisel.
Teadaolevad ründavektorid
- Täisarvu ületäitumine laius * kõrgus * 3 puhvri eraldamisel.
- Puhvri ülelugemine P3-režiimis vigaste ASCII-märkide lugemisel.
- Teenusetõkestus (DoS) liigsete mälumahu eraldamise deklaratsioonide kaudu.
Kaitsealased parimad tavad:
Ajalooline taust ja verstapostid
Peamised eelised
- Absoluutne arhitektuuriline lihtsus: ei vaja lugemiseks, kirjutamiseks ega töötlemiseks ühtegi pakkimisteeki.
- ASCII-režiim (P3) võimaldab programmeerijatel töötlemata RGB-värviväärtusi otse tekstiredaktoris vaadata, kopeerida ja redigeerida.
- Standardne vahevorming, mida kasutatakse ülikoolide arvutigraafika kursustel ja kiirgusjälguri (raytracer) projektides.
Tehnilised piirangud ja puudused
- Hiiglaslikud failisuurused tihenduse puudumise tõttu (4K foto on ligikaudu 25 megabaiti).
- Ebatõhus veebis levitamiseks või võrguedastuseks.
- Ei toeta alfaresolutsiooni läbipaistvust ega sisseehitatud värviprofiile.
Huvitavaid tehnilisi fakte
- Peaaegu iga arvutiteaduse üliõpilane, kes kirjutab tarkvaralise kiirgusjälguri, väljastab oma esimesed renderdused PPM-vormingus.
- ASCII PPM-is ('P3') on pilt sõna otseses mõttes numbrite tekstifail: '255 0 0' punase, '0 255 0' rohelise ja '0 0 255' sinise jaoks.
- Netpbm-komplekt jagati algselt 1980. aastate lõpus 4.3BSD Unixi lindi väljalasetes.
Korduma kippuvad tehnilised küsimused
Miks kasutavad arvutiteaduse kursused PPM-i?
Kuna PPM ei vaja ühtegi välist teeki ega keerulist tihendusalgoritmi, võimaldab see õpilastel õppida arvutigraafika põhimõtteid puhta toore piksli matemaatika abil.
Mis vahe on P3 ja P6 PPM-il?
P3 salvestab RGB kolmikud lihtsate ASCII tekstinumbritena, samas kui P6 salvestab RGB kolmikud toorete binaarsete baitidena.
Kuidas saan ma PPM-faili JPG-ks või PNG-ks teisendada?
Saate PPM-failid teisendada PNG-ks või JPG-ks otse oma brauseris File2File.app abil, ilma et teie seadmest lahkuksid andmed.