Portable Pixmap (.ppm)
Netpbm StandardiPortable Pixmap Format (PPM) on Netpbm-grafiikkaperheen täysvärinen RGB-standardi, joka tarjoaa yksinkertaisimman mahdollisen pakkaamattoman esitystavan täysvärisille digitaalikuville.
Tarkastele tiedostoa ja sen metatietoja
Käyttöjärjestelmät ja tiedostoanalyysaattorit tunnistavat PPM-tiedostot tarkistamalla tiedoston alun binäärisarjan:
Otsaketunniste tavutasolla (tunnistetavut)
Käyttöjärjestelmät ja tiedostoanalyysaattorit tunnistavat PPM-tiedostot tarkistamalla tiedoston alun binäärisarjan:
HEKSADEKSIMAALINEN TUNNISTE (SIJAINTI 0):
50 33 / 50 36ASCII-ESITYSTAPA: P3 / P6
Standardointi: Netpbm Library Standard
Tekniset tiedot
| Säiliöarkkitehtuuri | ASCII-muotoinen (P3) tai binäärinen (P6) Netpbm-tiedosto, jossa ilmoitetaan leveys, korkeus, värien enimmäisarvo ja RGB-kolmikkojen virta |
| Pakkaus | Pakkaamattomat binääritavut tai ihmisen luettavissa olevat ASCII-tekstikolmikot |
| Tavujärjestys (Endianness) | Big-Endian (48-bittisille näytteille, joissa on 16 bittiä kanavaa kohti, P6-tilassa) |
| Väriavaruudet | Lineaarinen RGB tai tavallinen sRGB |
| Kanavat ja rakenne | 3 RGB-kanavaa (24- tai 48-bittinen Truecolor) |
| Suurimmat mitat | Käytännössä rajoittamaton (tukee mielivaltaista 64-bittistä koordinaatistoa) |
| Läpinäkyvyys | Ei läpinäkyvyyttä (tavallinen PPM on täysin peittävä RGB-muoto) |
| Suoratoisto ja progressiivinen lataus | Peräkkäinen toisto rivi kerrallaan |
Tekninen vertailumatriisi: PPM vs. kilpailijat
| Tekninen attribuutti | PPM (Nykyinen) | BMP | PNG | TIFF |
|---|---|---|---|---|
| Värisyvyys | 24-bittinen / 48-bittinen RGB Truecolor | 1-32-bittinen RGBA | 24-bittinen / 48-bittinen RGBA | 8-64-bittinen RGBA |
| Netpbm-sisarus | PPM (Portable Pixmap) | Muu kuin Netpbm-muoto | Muu kuin Netpbm W3C -muoto | Muu kuin Netpbm Adobe -muoto |
| Tunnistetavut | P3 (ASCII) / P6 (Binääri) | BM (0x42 0x4D) | ‰PNG.... | II*\0 tai MM\0* |
| Pakkaus | Pakkaamaton | Pakkaamaton / RLE | Häviötön Deflate-pakkaus; tiedostokoon säästö vaihtelee kuvan sisällön mukaan | LZW / Deflate / Zip |
Yleiset vioittumistavat ja heksadesimaalinen palautusopas
Kuva renderöityy vinottaisella värikanavan vääristymällä.
Perussyy: Katkennut tavu RGB-kolmikkovirrassa, mikä aiheuttaa myöhempien punaisten, vihreiden ja sinisten tavujen kohdistusvirheen.
Korjaus: Kohdista RGB-kolmikon siirtymät uudelleen tai muunna File2File.app Netpbm Converter -muunnosohjelmalla.
Tietoturva-analyysi ja tiedostojäsentimien hyökkäysvektorit
PPM-dekoodereiden on suojattava kokonaisluvun ylivuodolta laskettaessa 3-tavuisen RGB-kolmikkopuskurin kokoja.
Tunnetut hyökkäysvektorit
- Kokonaisluvun ylivuoto leveys * korkeus * 3 -puskurin varauksen aikana.
- Puskurin yliluku luettaessa virheellisiä ASCII-tokeneita P3-tilassa.
- Palvelunestohyökkäys liiallisten muistinvarausilmoitusten kautta.
Tietoturvan parhaat käytännöt: Pakota tiukat muistinvarausrajat fyysisen tiedoston koon perusteella ennen purkamista.
Historia ja virstanpylväät
Tärkeimmät edut
- PPM:n otsake ja pikseliarvot on helppo kirjoittaa grafiikkaohjelmasta. Käytä kirjastoa, jos sinun pitää lukea sekä ASCII- että binääriversioita tai käsitellä virheellisiä tiedostoja turvallisesti.
- ASCII-tila (P3) mahdollistaa sen, että ohjelmoijat voivat tarkastella, kopioida ja muokata raakoja RGB-väriarvoja suoraan tekstieditorissa.
- PPM-muotoa käytetään yksinkertaisena väli- tai tulostusmuotona joillakin tietokonegrafiikan kursseilla ja säteenseurantaesimerkeissä.
Tekniset rajoitukset
- Pakkaamattomat 8-bittiset P6-kuvat voivat olla suuria. 3840 × 2160 RGB-kuvan pikselidata vie noin 24,9 miljoonaa tavua otsaketta lukuun ottamatta.
- Tehoton verkkolevitykseen tai tiedonsiirtoon verkossa.
- Ei tukea alfakanavan läpinäkyvyydelle tai upotetuille väriprofiileille.
Mielenkiintoisia teknisiä faktoja
- Joissakin säteenseurannan alkeisesimerkeissä tulos tallennetaan PPM-muodossa, koska pikselitiedot on helppo kirjoittaa.
- ASCII PPM:ssä ('P3') kuva on kirjaimellisesti tekstitiedosto täynnä numeroita: '255 0 0' punaiselle, '0 255 0' vihreälle, '0 0 255' siniselle.
- Netpbm-ohjelmistopaketti julkaistiin alun perin 4.3BSD Unix -nauhajulkaisuissa 1980-luvun lopulla.
Usein kysytyt tekniset kysymykset
Miksi tietojenkäsittelytieteen kursseilla käytetään PPM-muotoa?
PPM tallentaa pikselien RGB-arvot lyhyen otsakkeen jälkeen, joten säteenseurantaohjelma voi kirjoittaa kuvan ilman monimutkaista koodekkia. Sovelluksen on silti osattava käsitellä sekä tekstimuotoista P3- että binäärimuotoista P6-versiota ja niiden näytesyvyyttä koskevia sääntöjä.
Mitä eroa on PPM-tiedostojen P3- ja P6-versioilla?
P3 tallentaa RGB-kolmikot pelkkänä ASCII-tekstinä, kun taas P6 tallentaa RGB-kolmikot raakoina binääritavuina.
Miten voin muuntaa PPM-tiedoston JPG- tai PNG-muotoon?
Voit muuntaa PPM-tiedostot PNG- tai JPG-muotoon suoraan selaimessasi File2File.app-palvelulla niin, että laitteestasi ei poistu mitään tietoja.