Gambar BMP (DIB) disusun oleh header diikuti oleh data 1 warna yang tidak dikompresi (untuk gambar 24 bpp adalah 3 byte per piksel, disimpan dalam urutan baris terbalik dan dengan 4 byte baris langkah).
Byte untuk data warna digunakan untuk merepresentasikan warna (yaitu tidak satupun dari mereka yang "diamanatkan" oleh format file 2 , semuanya berasal dari warna setiap piksel), dan ada korespondensi 1: 1 yang sempurna antara warna piksel dan byte yang ditulis di dalam file; dengan demikian, dengan menggunakan warna yang dipilih dengan sempurna, Anda sebenarnya dapat menulis apa pun yang Anda inginkan dalam file (dengan pengecualian tajuk).
Saat Anda membuka file yang dihasilkan di notepad, data warna akan ditampilkan sebagai teks; Anda masih bisa melihat dengan jelas dari header (bagian dariBM
awal teks), yang diamanatkan oleh format file.
Menurut pendapat saya, video ini dibuat dengan cara ini: pertama-tama penulis menghitung ukuran yang dibutuhkan untuk bitmap, dan membuat file DIB dengan ukuran yang benar yang diisi dengan warna yang meluas ke pola sederhana (mis. All bytes 65 => 'A'
); lalu ganti pola seperti itu dengan kode "payload", seperti yang ditunjukkan di video.
Perhatikan bahwa bukan tidak mungkin untuk membuat semuanya dengan tangan dengan notepad - dengan dialog pemilih warna, tabel ASCII dan pengetahuan dasar tentang format DIB, hal itu dapat dilakukan, tetapi akan jauh lebih lambat dan rawan kesalahan.
Info lebih lanjut tentang format DIB
- Ada DIB terkompresi RLE, tetapi dalam kasus ini bitmap yang tidak dikompresi digunakan (dan bagaimanapun juga mereka jarang digunakan).
- Dengan pengecualian langkah, itu dihindari menggunakan beberapa baris 4 byte.