Portable Pixmap (.ppm)

Netpbm Standardi

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

Valitse tai pudota tiedostot tähän

Yksityisesti - tiedostot eivät koskaan poistu laitteeltasi

tai liitä Ctrl+V
Tietosuojatakuu: 0 % verkkosiirtoa Ulkoisille palvelimille ei ole ladattu yhtään tavua. Kaikki käsittely tapahtui paikallisesti selaimen hiekkalaatikossa.

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 36

ASCII-ESITYSTAPA: P3 / P6

Standardointi: Netpbm Library Standard

Tekniset tiedot

SäiliöarkkitehtuuriASCII-muotoinen (P3) tai binäärinen (P6) Netpbm-tiedosto, jossa ilmoitetaan leveys, korkeus, värien enimmäisarvo ja RGB-kolmikkojen virta
PakkausPakkaamattomat 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äriavaruudetLineaarinen RGB tai tavallinen sRGB
Kanavat ja rakenne3 RGB-kanavaa (24- tai 48-bittinen Truecolor)
Suurimmat mitatKäytännössä rajoittamaton (tukee mielivaltaista 64-bittistä koordinaatistoa)
LäpinäkyvyysEi läpinäkyvyyttä (tavallinen PPM on täysin peittävä RGB-muoto)
Suoratoisto ja progressiivinen latausPeräkkäinen toisto rivi kerrallaan

Tekninen vertailumatriisi: PPM vs. kilpailijat

Tekninen attribuuttiPPM (Nykyinen)BMPPNGTIFF
Värisyvyys24-bittinen / 48-bittinen RGB Truecolor1-32-bittinen RGBA24-bittinen / 48-bittinen RGBA8-64-bittinen RGBA
Netpbm-sisarusPPM (Portable Pixmap)Muu kuin Netpbm-muotoMuu kuin Netpbm W3C -muotoMuu kuin Netpbm Adobe -muoto
TunnistetavutP3 (ASCII) / P6 (Binääri)BM (0x42 0x4D)‰PNG....II*\0 tai MM\0*
PakkausPakkaamatonPakkaamaton / RLEHäviötön Deflate-pakkaus; tiedostokoon säästö vaihtelee kuvan sisällön mukaanLZW / 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

200048 bitin värisyvyys (16 bittiä kanavaa kohti) lisättiin Netpbm P6 -määrittelyyn.
1993Netpbm-työkalupaketin Unix-grafiikan muunnostyökalut käyttävät PPM:ää välimuotona.
1989Jef Poskanzer viimeistelee Netpbm-triumviraatin (PBM, PGM, PPM) täysvärisellä PPM-muodolla.

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.