Saya baru-baru ini membangunkan permainan web pertama saya: teka-teki video HTML5. Proses pembangunan adalah menarik Saya suka pengaturcaraan, tetapi selepas melaksanakan logik permainan, saya mempunyai idea yang menarik: Mengapa tidak mencari cara untuk menyembunyikan kod? Pada mulanya saya memikirkan sesuatu yang sangat mudah, seperti melumpuhkan menu konteks supaya kod sumber halaman boleh dilihat apabila mengklik kanan. Tetapi ini tidak masuk akal, menu klik kanan tidak berfungsi dan orang ramai masih boleh melihat kod sumber melalui pintasan papan kekunci atau "Lihat Sumber" dalam bar menu.
Sebuah gambar boleh menyebut seribu perkataan
Ia bergantung pada saiz gambar. Tetapi saya memutuskan untuk menyulitkan kod sumber dan menyimpannya dalam imej. Komponen kanvas HTML5 sangat sesuai untuk perkara seperti ini kerana ia menyokong operasi pada piksel imej. Satu piksel diwakili oleh empat nilai (saluran): saluran merah, hijau, biru dan alfa. Nilai mereka diedarkan dari 0 hingga 255. Kod Javascript saya ialah aksara, dan setiap aksara mempunyai nilai yang sepadan dengan ASCII. Julat nilai ASCII juga adalah 0-255, jadi apa yang saya mahu lakukan ialah melintasi setiap piksel pada kanvas dan menetapkan nilai ASCII bagi 3 aksara kod untuk setiap piksel sebagai nilai RGBnya. Anda boleh melakukannya dengan mudah fungsi charCodeAt keluarkan aksara ini.