Windows Bitmap (.bmp)
Microsoft StandarBitmap Image File (BMP) adalah format grafis raster independen perangkat mendasar buatan Microsoft, yang menyimpan baris pindai (scanlines) yang tidak terkompresi atau terkompresi RLE dengan kompatibilitas framebuffer perangkat keras langsung.
Konversi BMP ke PNG
Pengonversi BMP ke PNG gratis di dalam peramban. Konversi berkas secara instan di perangkat Anda.
Periksa & Metadata
Sistem operasi dan penganalisis file mengidentifikasi file BMP dengan memeriksa urutan byte biner utama:
Tanda Tangan Header Tingkat-Byte (Magic Bytes)
Sistem operasi dan penganalisis file mengidentifikasi file BMP dengan memeriksa urutan byte biner utama:
SIGNATURE HEX (OFFSET 0):
42 4DREPRESENTASI ASCII: BM
Standardisasi: Microsoft Windows Device-Independent Bitmap (DIB) Architecture
Spesifikasi Teknis
| Arsitektur Wadah | BITMAPFILEHEADER followed by BITMAPINFOHEADER (DIB) and raster pixel array |
| Kompresi | Uncompressed raw scanlines, or optional BI_RLE8 / BI_RLE4 run-length encoding |
| Endianness Byte | Little-Endian (Intel x86 byte order) |
| Ruang Warna | Device Dependent RGB, sRGB (BITMAPV5HEADER embedded) |
| Saluran & Struktur | 1-bit monochrome, 4-bit / 8-bit paletted, 16-bit, 24-bit RGB, or 32-bit RGBA |
| Dimensi Maks | 2,147,483,647 x 2,147,483,647 pixels (signed 32-bit integer) |
| Transparansi | 32-bit BGRA alpha mask supported in modern BITMAPV3HEADER and V5HEADER formats |
| Streaming & Progresif | Non-streamable; scanlines stored upside-down (bottom-up) unless height is negative |
Matriks Perbandingan Teknis: BMP vs Pesaing
| Atribut Teknis | BMP (Saat Ini) | PNG | TIFF | JPG |
|---|---|---|---|---|
| Mode Kompresi | Tidak terkompresi / RLE Minimal | Deflate lossless (~70% lebih kecil) | Tidak terkompresi / LZW / Zip | DCT lossy (~90% lebih kecil) |
| Kecepatan Dekode | Penyalinan memori instan | Memerlukan dekompresi Deflate | Memerlukan dekompresi LZW/ZIP | Memerlukan perhitungan IDCT |
| Pengurutan Baris Pindai | Dari bawah ke atas (terbalik) | Dari atas ke bawah | Dari atas ke bawah / Strip | Blok MCU dari atas ke bawah |
| Kesesuaian Web | Sangat buruk (beban data membengkak) | Sangat baik untuk grafis | Buruk (penerbitan desktop) | Sangat baik untuk fotografi |
Mode Kerusakan Umum & Panduan Pemulihan Hex
Gambar dirender miring secara diagonal atau condong pada suatu sudut.
Penyebab Utama: Perhitungan padding baris yang salah (kegagalan untuk mem-padding setiap baris pindai ke batas 4-byte).
Pemulihan: Sandi ulang (re-encode) menggunakan File2File Image Converter untuk menegakkan kelurusan langkah (stride) baris pindai 32-bit yang benar.
Analisis Keamanan & Vektor Serangan Parser
Decoder BMP sering kali mengalami pembacaan berlebih pada penyangga saat mengalokasikan penyangga berdasarkan dimensi header DIB yang tidak tepercaya.
Vektor Serangan yang Diketahui
- Pelampiasan bilangan bulat dalam perhitungan lebar * tinggi * bpp yang mengarah pada alokasi heap kecil dan penulisan di luar batas.
- Urutan pelarian panjang run (run-length escape sequences) RLE8/RLE4 yang rusak menyebabkan penulisan memori di luar penyangga yang dialokasikan.
- Penolakan layanan melalui alokasi memori beberapa gigabita yang dipicu oleh dimensi header yang dibuat khusus.
Praktik Terbaik Defensif:
Asal-Usul & Tonggak Sejarah
Keunggulan & Kelebihan Utama
- Tanpa degradasi kompresi: penyimpanan piksel yang tepat secara bit 100% tanpa artefak kompresi.
- Dukungan sistem operasi asli yang universal di semua versi Windows, Linux, dan macOS.
- Kompleksitas dekode yang sangat mudah menjadikannya ideal untuk mikrokontroler tersemat dan pendidikan pemrograman grafis.
Keterbatasan Teknis & Kekurangan
- Ukuran file yang sangat besar karena kurangnya kompresi entropi modern seperti DEFLATE atau pengodean Huffman.
- Tidak efisien untuk transmisi web atau distribusi jaringan seluler.
- Pengurutan baris pindai dari bawah ke atas memerlukan pembalikan baris vertikal dalam alur kerja grafis modern dari atas ke bawah.
Fakta Teknis Menarik
- BMP menyimpan baris pindai gambar secara terbalik (dari bawah ke atas) secara default karena sistem koordinat Kartesius matematis yang digunakan pada OS/2.
- Jika nilai tinggi (height) di header BMP disetel ke angka negatif, gambar akan didekode dari atas ke bawah (kanan sisi atasnya).
- Setiap baris pindai dalam file BMP harus diberi padding dengan angka nol kelipatan 4 byte (penyelarasan batas 32-bit).
Pertanyaan Teknis yang Sering Diajukan
Mengapa file BMP berukuran sangat besar?
File BMP menyimpan nilai warna mentah (raw) yang tidak dikompresi untuk setiap piksel tunggal, sementara format seperti PNG mengompresi data tersebut tanpa kehilangan kualitas sedikit pun.
Bisakah BMP mendukung transparansi?
Ya. File BMP 32-bit (menggunakan BITMAPV3HEADER atau yang lebih baru) dapat menyimpan saluran alfa 8-bit, meskipun dukungannya bervariasi pada perangkat lunak yang lebih lama.
Bagaimana cara memperkecil ukuran file BMP?
Mengonversi file BMP ke PNG menggunakan File2File.app biasanya mengurangi ukuran file sebesar 60% hingga 85% tanpa penurunan kualitas visual sama sekali.
Pasangan Konversi BMP Terkait
Mengonversi file Windows Bitmap yang tidak dikompresi ke PNG menghasilkan kompresi tanpa kehilangan yang mengecilkan ukuran file tanpa mengurangi kualitas gambar.
Mengonversi Portable Network Graphics ke Windows Bitmap mengubah data raster terkompresi menjadi kisi piksel yang tidak dikompresi untuk sistem operasi lama dan pipa perangkat keras.