Portable Pixmap (.ppm)

Netpbm Szabvány

A Portable Pixmap Format (PPM) a Netpbm grafikus család teljes színmélységű RGB szabványa, amely a Truecolor digitális képek lehető legegyszerűbb, tömörítetlen ábrázolását biztosítja.

Vizsgálat és metaadatok

Az operációs rendszerek és a fájlelemzők a kezdő bináris bájtsorozat vizsgálatával azonosítják a(z) PPM fájlokat:

Válasszon ki vagy ejtsen ide fájlokat

100%-ban magánjellegű, böngészőn belüli konvertálás - a fájlok soha nem hagyják el az eszközét

vagy beillesztés Ctrl+V
Nulla hálózati adatátviteli adatvédelmi garancia: 0 bájt lett feltöltve külső szerverekre. Minden feldolgozás helyben, az Ön böngészőjének homokozójában történt.

Bájt-szintű fejléc aláírás (Magic Bytes)

Az operációs rendszerek és a fájlelemzők a kezdő bináris bájtsorozat vizsgálatával azonosítják a(z) PPM fájlokat:

HEX ALÁÍRÁS (ELTOLÁS 0):

50 33 / 50 36

ASCII REPREZENTÁCIÓ: P3 / P6

Szabványosítás: Netpbm Library Standard

Műszaki specifikációk

Konténer architektúraASCII (P3) or binary (P6) Netpbm format with width, height, maximum color value, and RGB triplet stream
TömörítésUncompressed raw binary bytes or human-readable ASCII text triplets
BájtsorrendBig-Endian (for 48-bit 16-bit/channel samples in P6 mode)
SzínterekLinear RGB or standard sRGB
Csatornák és struktúra3 channels RGB (24-bit or 48-bit Truecolor)
Max. méretekPractically unlimited (supports arbitrary 64-bit coordinate space)
ÁtlátszóságNone (standard PPM is strictly opaque RGB)
Streaming és progresszívSequential row-by-row streaming playback

Műszaki összehasonlító mátrix: PPM vs Versenytársak

Technikai attribútumPPM (Jelenlegi)BMPPNGTIFF
Színmélység24 bites / 48 bites RGB Truecolor1-bitestől 32 bites RGBA-ig24 bites / 48 bites RGBA8-bitestől 64 bites RGBA-ig
Netpbm TestvérformátumPPM (Portable Pixmap)Nem Netpbm formátumNem Netpbm W3C formátumNem Netpbm Adobe formátum
Magic BytesP3 (ASCII) / P6 (Bináris)BM (0x42 0x4D)‰PNG....II*\0 vagy MM\0*
TömörítésTömörítetlenTömörítetlen / RLEVeszteségmentes Deflate (~70%-kal kisebb)LZW / Deflate / Zip

Gyakori sérülési módok és hexadecimális helyreállítási útmutató

A kép átlós színcsatorna-eltolódással renderelődik.

Kiváltó ok: Csonka bájt az RGB trilettfolyamban, ami a későbbi piros, zöld és kék bájtok elcsúszását okozza.

Helyreállítás: RGB triplet eltolások újraigazítása vagy konvertálás a File2File Netpbm konverterrel.

Biztonsági elemzés és elemző (parser) támadási vektorok

A PPM dekódereknek védekezniük kell az egész szám túlcsordulása ellen a 3 bájtos RGB triplet pufferméretek kiszámításakor.

Ismert támadási vektorok

  • Egész szám túlcsordulása a szélesség * magasság * 3 puffer lefoglalása során.
  • Pufferen túli olvasás hibás ASCII tokenek olvasásakor P3 módban.
  • Szolgáltatásmegtagadás (DoS) túlzott memóriafoglalási deklarációk révén.

Védekező Legjobb Gyakorlatok:

Történeti háttér és mérföldkövek

2000A 48 bites színmélység (csatornánként 16 bit) hozzáadása a Netpbm P6 specifikációhoz.
1993A Unix grafikus konverziós folyamatok univerzális közvetítőnyelvévé (lingua franca) válik a Netpbm eszközkészletben.
1989Jef Poskanzer kiegészíti a Netpbm triumvirátust (PBM, PGM, PPM) a teljes színű PPM formátummal.

Főbb előnyök

  • Abszolút építészeti egyszerűség: semmilyen tömörítési könyvtárat nem igényel a olvasáshoz, íráshoz vagy szerkesztéshez.
  • Az ASCII mód (P3) lehetővé teszi a programozók számára a nyers RGB színértékek közvetlen megtekintését, másolását és szerkesztését egy szövegszerkesztőben.
  • Szabványos köztes formátum, amelyet egyetemi számítógépes grafikai kurzusokon és sugárkövető (raytracer) projektekben használnak.

Technikai korlátok és hátrányok

  • Hatalmas fájlméretek a tömörítés hiánya miatt (egy 4K-s fotó körülbelül 25 megabájt).
  • Hatástalan webes terjesztéshez vagy hálózati átvitelhez.
  • Nincs támogatás az alfa-átlátszósághoz vagy a beágyazott színprofilokhoz.

Érdekes technikai tudnivalók

  • Gyakorlatilag minden olyan informatikus hallgató, aki szoftveres sugárkövetőt ír, a első rendereléseit PPM formátumban menti ki.
  • Az ASCII PPM-ben ('P3') a kép szó szerint számok szöveges fájlja: '255 0 0' a piros, '0 255 0' a zöld, '0 0 255' a kék esetében.
  • A Netpbm csomagot eredetileg a 4.3BSD Unix szalagos kiadásokon terjesztették az 1980-as évek végén.

Gyakran Ismételt Műszaki Kérdések

Miért használnak PPM-et a számítástechnikai kurzusokon?

Mert a PPM semmilyen külső könyvtárat vagy összetett tömörítési algoritmust nem igényel, így a hallgatók tiszta, nyers pixelmatematika segítségével sajátíthatják el a számítógépes grafika alapelveit.

Mi a különbség a P3 és a P6 PPM között?

A P3 az RGB hármasokat sima ASCII szöveges számokként tárolja, míg a P6 az RGB hármasokat nyers bináris bájtokként.

Hogyan alakíthatok át egy PPM fájlt JPG-be vagy PNG-be?

A PPM fájlokat PNG vagy JPG formátumba konvertálhatod közvetlenül a böngésződben a File2File.app használatával, anélkül, hogy bármilyen adat elhagyná az eszközödet.