Mapa de píxeles portátil (.ppm)

Standar Standar

Portable Pixmap Format (PPM) adalah standar RGB warna penuh dari keluarga grafis Netpbm, yang menyediakan representasi tanpa kompresi paling sederhana yang mungkin untuk gambar digital warna sejati.

Pemeriksaan & Metadata

Sistem operasi dan penganalisis file mengenali file PPM dengan memeriksa urutan byte biner di bagian awal:

Pilih atau letakkan berkas di sini

Privat - file tidak pernah meninggalkan perangkat Anda

atau tempel Ctrl+V
Jaminan Privasi Tanpa Transmisi Jaringan: 0 byte diunggah ke server eksternal. Semua pemrosesan berlangsung secara lokal di sandbox browser Anda.

Tanda Tangan Header per Byte (Byte Penanda)

Sistem operasi dan penganalisis file mengenali file PPM dengan memeriksa urutan byte biner di bagian awal:

TANDA TANGAN HEX (OFFSET 0):

50 33 / 50 36

REPRESENTASI ASCII: P3 / P6

Standardisasi: Standar Pustaka Netpbm

Spesifikasi Teknis

Arsitektur KontainerFormat Netpbm ASCII (P3) atau biner (P6) dengan lebar, tinggi, nilai warna maksimum, dan aliran tripel RGB
KompresiByte biner mentah tanpa kompresi atau tripel angka teks yang dapat dibaca manusia
Urutan ByteBig-Endian (untuk sampel 16-bit per saluran 48-bit dalam mode P6)
Ruang WarnaRGB linear atau sRGB standar
Saluran & Struktur3 saluran RGB (warna penuh 24-bit atau 48-bit)
Dimensi MaksimumSecara praktis tidak terbatas (mendukung ruang koordinat 64-bit arbitrer)
TransparansiTidak ada (PPM standar sepenuhnya opak, hanya RGB)
Streaming & ProgresifPemutaran streaming berurutan baris demi baris

Perbandingan Teknis PPM dengan Pesaing

Atribut TeknisPPM (Saat Ini)BMPPNGTIFF
Kedalaman WarnaWarna RGB penuh 24-bit / 48-bit1-bit hingga 32-bit RGBA24-bit / 48-bit RGBA8-bit hingga 64-bit RGBA
Format dalam keluarga NetpbmPPM (Portable Pixmap)Format non-NetpbmFormat W3C non-NetpbmFormat Adobe non-Netpbm
Magic BytesP3 (ASCII) / P6 (Biner)BM (0x42 0x4D)‰PNG....II*\0 atau MM\0*
KompresiTanpa KompresiTanpa Kompresi / RLEKompresi Deflate lossless; penghematan ukuran file bergantung pada konten gambarLZW / Deflate / Zip

Pola Kerusakan Umum dan Panduan Pemulihan Hex

Gambar dirender dengan pergeseran saluran warna diagonal.

Penyebab Utama: Byte terpotong dalam aliran tripel RGB yang menyebabkan byte merah, hijau, dan biru berikutnya menjadi tidak selaras.

Pemulihan: Selaraskan ulang offset tripel RGB atau konversi menggunakan Konverter Netpbm File2File.app.

Analisis Keamanan & Vektor Serangan Parser

Dekoder PPM harus mewaspadai limpahan bilangan bulat (integer overflow) saat menghitung ukuran penyangga tripel RGB 3-byte.

Vektor Serangan yang Diketahui

  • Limpahan bilangan bulat selama alokasi penyangga lebar * tinggi * 3.
  • Pembacaan berlebih pada penyangga (buffer over-read) saat membaca token ASCII yang cacat dalam mode P3.
  • Penolakan layanan (Denial of Service) melalui deklarasi alokasi memori yang berlebihan.

Praktik Terbaik Defensif: Terapkan batas alokasi memori yang ketat berdasarkan ukuran file fisik sebelum dekode.

Asal-Usul & Tonggak Sejarah

2000Kedalaman warna 48-bit (16 bit per saluran) ditambahkan ke spesifikasi Netpbm P6.
1993Menjadi format perantara yang digunakan sejumlah alat konversi grafis Unix dalam toolkit Netpbm.
1989Jef Poskanzer melengkapi trio Netpbm (PBM, PGM, PPM) dengan format PPM warna penuh.

Keunggulan & Kelebihan Utama

  • Header dan sampel piksel PPM mudah ditulis dari program grafis. Gunakan pustaka jika Anda perlu mengurai varian ASCII dan biner.
  • Mode ASCII (P3) memungkinkan pemrogram untuk melihat, menyalin, dan mengedit nilai warna RGB mentah secara langsung di penyunting teks.
  • PPM digunakan sebagai format perantara atau keluaran sederhana dalam beberapa kursus grafika komputer dan contoh ray tracer.

Keterbatasan Teknis & Kekurangan

  • Ukuran berkas yang sangat besar karena tidak ada kompresi (foto 4K berukuran sekitar 25 megabita).
  • Tidak efisien untuk distribusi web atau transfer jaringan.
  • Tidak ada dukungan untuk transparansi alfa atau profil warna tersemat.

Fakta Teknis Menarik

  • Beberapa contoh ray tracer dasar menggunakan PPM sebagai format keluaran karena data pikselnya mudah ditulis.
  • Dalam PPM ASCII ('P3'), sebuah gambar secara harfiah adalah berkas teks berisi angka: '255 0 0' untuk merah, '0 255 0' untuk hijau, '0 0 255' untuk biru.
  • Suite Netpbm awalnya didistribusikan pada rilis Unix Tape 4.3BSD pada akhir 1980-an.

Pertanyaan Teknis yang Sering Diajukan

Mengapa mata kuliah ilmu komputer menggunakan PPM?

PPM menyimpan sampel piksel RGB dengan header singkat, sehingga ray tracer dapat menulis gambar tanpa codec rumit. Aplikasi tetap perlu menangani varian P3 dan P6.

Apa perbedaan antara PPM P3 dan P6?

P3 menyimpan triplet RGB sebagai angka teks ASCII biasa, sementara P6 menyimpan triplet RGB sebagai byte biner mentah.

Bagaimana cara mengonversi file PPM ke JPG atau PNG?

Anda dapat mengonversi file PPM ke PNG atau JPG langsung di browser Anda menggunakan File2File.app tanpa ada data yang meninggalkan perangkat Anda.