Format PBM (Portable Bitmap) adalah salah satu format file grafik paling sederhana dan paling awal yang digunakan untuk menyimpan gambar monokrom. Ini adalah bagian dari rangkaian Netpbm, yang juga mencakup PGM (Portable GrayMap) untuk gambar skala abu-abu dan PPM (Portable PixMap) untuk gambar berwarna. Format PBM dirancang agar sangat mudah dibaca dan ditulis dalam suatu program, serta jelas dan tidak ambigu. Ini tidak dimaksudkan sebagai format yang berdiri sendiri, melainkan penyebut umum terendah untuk mengonversi di antara format gambar yang berbeda.
Format PBM hanya mendukung gambar hitam dan putih (1-bit). Setiap piksel dalam gambar diwakili oleh satu bit – 0 untuk putih dan 1 untuk hitam. Kesederhanaan format ini membuatnya mudah dimanipulasi menggunakan alat pengeditan teks dasar atau bahasa pemrograman tanpa memerlukan pustaka pemrosesan gambar khusus. Namun, kesederhanaan ini juga berarti bahwa file PBM bisa lebih besar dari format yang lebih canggih seperti JPEG atau PNG, yang menggunakan algoritma kompresi untuk mengurangi ukuran file.
Ada dua variasi format PBM: format ASCII (biasa), yang dikenal sebagai P1, dan format biner (mentah), yang dikenal sebagai P4. Format ASCII dapat dibaca manusia dan dapat dibuat atau diedit dengan editor teks sederhana. Format biner tidak dapat dibaca manusia tetapi lebih hemat ruang dan lebih cepat untuk dibaca dan ditulis program. Terlepas dari perbedaan dalam penyimpanan, kedua format tersebut mewakili jenis data gambar yang sama dan dapat dikonversi satu sama lain tanpa kehilangan informasi.
Struktur file PBM dalam format ASCII dimulai dengan nomor ajaib dua byte yang mengidentifikasi jenis file. Untuk format ASCII PBM, ini adalah 'P1'. Setelah nomor ajaib, ada spasi putih (spasi, TAB, CR, LF), dan kemudian spesifikasi lebar, yang merupakan jumlah kolom dalam gambar, diikuti oleh lebih banyak spasi putih, dan kemudian spesifikasi tinggi, yang merupakan jumlah baris dalam gambar. Setelah spesifikasi tinggi, ada lebih banyak spasi putih, dan kemudian data piksel dimulai.
Data piksel dalam file PBM ASCII terdiri dari serangkaian '0' dan '1', dengan setiap '0' mewakili piksel putih dan setiap '1' mewakili piksel hitam. Piksel disusun dalam baris, dengan setiap baris piksel pada baris baru. Spasi putih diperbolehkan di mana saja dalam data piksel kecuali dalam urutan dua karakter (tidak diperbolehkan di antara dua karakter urutan). Akhir file tercapai setelah membaca bit lebar*tinggi.
Sebaliknya, format PBM biner dimulai dengan nomor ajaib 'P4' bukan 'P1'. Setelah nomor ajaib, format file sama dengan versi ASCII hingga data piksel dimulai. Data piksel biner dikemas menjadi byte, dengan bit paling signifikan (MSB) dari setiap byte mewakili piksel paling kiri, dan setiap baris piksel diisi sesuai kebutuhan untuk mengisi byte terakhir. Bit pengisi tidak signifikan dan nilainya diabaikan.
Format biner lebih hemat ruang karena menggunakan byte penuh untuk mewakili delapan piksel, berbeda dengan format ASCII yang menggunakan setidaknya delapan byte (satu karakter per piksel ditambah spasi putih). Namun, format biner tidak dapat dibaca manusia dan memerlukan program yang memahami format PBM untuk menampilkan atau mengedit gambar.
Membuat file PBM secara terprogram relatif sederhana. Dalam bahasa pemrograman seperti C, seseorang akan membuka file dalam mode tulis, mengeluarkan nomor ajaib yang sesuai, menulis lebar dan tinggi sebagai angka ASCII yang dipisahkan oleh spasi putih, dan kemudian mengeluarkan data piksel. Untuk PBM ASCII, data piksel dapat ditulis sebagai serangkaian '0' dan '1' dengan jeda baris yang sesuai. Untuk PBM biner, data piksel harus dikemas menjadi byte dan ditulis ke file dalam mode biner.
Membaca file PBM juga mudah. Sebuah program akan membaca nomor ajaib untuk menentukan format, melewati spasi putih, membaca lebar dan tinggi, melewati lebih banyak spasi putih, dan kemudian membaca data piksel. Untuk PBM ASCII, program dapat membaca karakter satu per satu dan menafsirkannya sebagai nilai piksel. Untuk PBM biner, program harus membaca byte dan membongkarnya menjadi bit individual untuk mendapatkan nilai piksel.
Format PBM tidak mendukung segala bentuk kompresi atau pengkodean, yang berarti bahwa ukuran file berbanding lurus dengan jumlah piksel dalam gambar. Hal ini dapat menghasilkan file yang sangat besar untuk gambar beresolusi tinggi. Namun, kesederhanaan format ini membuatnya ideal untuk mempelajari tentang pemrosesan gambar, untuk digunakan dalam situasi di mana fidelitas gambar lebih penting daripada ukuran file, atau untuk digunakan sebagai format perantara dalam proses konversi gambar.
Salah satu kelebihan format PBM adalah kesederhanaannya dan kemudahan manipulasinya. Misalnya, untuk membalik gambar PBM (mengubah semua piksel hitam menjadi putih dan sebaliknya), seseorang dapat dengan mudah mengganti semua '0' dengan '1' dan semua '1' dengan '0' dalam data piksel. Ini dapat dilakukan dengan skrip atau program pemrosesan teks sederhana. Demikian pula, operasi gambar dasar lainnya seperti rotasi atau pencerminan dapat diimplementasikan dengan algoritma sederhana.
Meskipun sederhana, format PBM tidak banyak digunakan untuk penyimpanan atau pertukaran gambar umum. Hal ini terutama disebabkan oleh kurangnya kompresi, yang membuatnya tidak efisien untuk menyimpan gambar besar atau untuk digunakan melalui internet di mana bandwidth mungkin menjadi masalah. Format yang lebih modern seperti JPEG, PNG, dan GIF menawarkan berbagai bentuk kompresi dan lebih cocok untuk tujuan ini. Namun, format PBM masih digunakan dalam beberapa konteks, khususnya untuk grafik sederhana dalam pengembangan perangkat lunak, dan sebagai alat pengajaran untuk konsep pemrosesan gambar.
Rangkaian Netpbm, yang mencakup format PBM, menyediakan kumpulan alat untuk memanipulasi file PBM, PGM, dan PPM. Alat-alat ini memungkinkan konversi antara format Netpbm dan format gambar populer lainnya, serta operasi pemrosesan gambar dasar seperti penskalaan, pemotongan, dan manipulasi warna. Rangkaian ini dirancang agar mudah diperluas, dengan antarmuka sederhana untuk menambahkan fungsionalitas baru.
Sebagai kesimpulan, format gambar PBM adalah format file sederhana dan tanpa embel-embel untuk menyimpan gambar bitmap monokrom. Kesederhanaannya membuatnya mudah dipahami dan dimanipulasi, yang dapat menguntungkan untuk tujuan pendidikan atau untuk tugas pemrosesan gambar sederhana. Meskipun tidak cocok untuk semua aplikasi karena kurangnya kompresi dan ukuran file yang dihasilkan besar, format ini tetap menjadi format yang berguna dalam konteks tertentu di mana kekuatannya paling bermanfaat. Format PBM, bersama dengan rangkaian Netpbm lainnya, terus menjadi alat yang berharga bagi mereka yang bekerja dengan pemrosesan gambar dasar dan konversi format.
Konverter ini berjalan sepenuhnya di browser Anda. Ketika Anda memilih sebuah file, file tersebut dibaca ke dalam memori dan dikonversi ke format yang dipilih. Anda kemudian dapat mengunduh file yang telah dikonversi.
Konversi dimulai seketika, dan sebagian besar file dikonversi dalam waktu kurang dari satu detik. File yang lebih besar mungkin membutuhkan waktu lebih lama.
File Anda tidak pernah diunggah ke server kami. File tersebut dikonversi di browser Anda, dan file yang telah dikonversi kemudian diunduh. Kami tidak pernah melihat file Anda.
Kami mendukung konversi antara semua format gambar, termasuk JPEG, PNG, GIF, WebP, SVG, BMP, TIFF, dan lainnya.
Konverter ini sepenuhnya gratis, dan akan selalu gratis. Karena berjalan di browser Anda, kami tidak perlu membayar untuk server, jadi kami tidak perlu mengenakan biaya kepada Anda.
Ya! Anda dapat mengkonversi sebanyak mungkin file sekaligus. Cukup pilih beberapa file saat Anda menambahkannya.