Masukkan gambar dalam kode QR QR
Kode QR akhirnya menjadi populer. Sekarang tag kode QR pada iklan produk besar dan kecil di jalanan dan lorong ada di mana -mana, dan kebanyakan dari mereka bukan kode QR murni sederhana, tetapi kode QR dengan ikon kepribadian di tengah.
Saya biasa melakukan program yang menggunakan proyek open source Google ZXING untuk mengimplementasikan kode QR dan pengkodean dan decoding kode 1R, dan membuka kode sumber (pengkodean kode barcode dan QR dan decoder yang diimplementasikan dengan C#). Hari ini, saya terus menambahkan gambar kecil di tengah kode QR berdasarkan program ini.
Pengetahuan latar belakang
QRCode menggunakan kode Reed-Solomon untuk membuat perbaikan bug. Bagi kami, pengkodean Reed Solomon memiliki dua karakteristik yang sangat penting. Pertama, ini adalah kode sistem eksplisit, yang berarti Anda dapat langsung melihat informasi asli dalam pengkodean akhir. Ini seperti ketika kita mengkode "Hello World", kita akhirnya melihat "Hello World" dan beberapa kode toleran kesalahan yang mengikutinya. Kedua, pengkodean Reed Solomon dapat "dieksorbit". Setelah hasil dari dua penyandian solomon buluh yang berbeda dihitung, kode solomon buluh baru akan diperoleh, dan kode asli dari kode baru ini adalah eksklusif atau dua kode asli asli. Jika Anda ingin tahu mengapa kedua fitur ini berfungsi, lihat aritmatika bidang terbatas dan pengkodean Reed-Solomon.
Qrcode
Gambar qrcode mendefinisikan beberapa deskriptor unik untuk membantu orang atau komputer mengidentifikasi diri mereka sebagai kode qrc. Jenis deskriptor ini sedikit bervariasi dengan ukuran kode qrcoD - semakin besar gambar qrcode memiliki lebih banyak deskriptor. Namun, untuk pengakuan manusia, fitur yang paling jelas adalah bahwa simbol keempat sudut gambar diperbaiki. Saat melihat keempat sudut seperti itu, manusia bereaksi secara naluriah: ini adalah kode qrc.
;
Dengan karya di atas, kita dapat dengan mudah mengetahui lokasi informasi kode asli dalam gambar. Kemudian dengan mengubah informasi kode asli Anda, Anda dapat mengubah piksel pada gambar sehingga Anda dapat menggambar di dalamnya. Yang sedang berkata, beberapa situasi berikut dapat membuat segalanya lebih menarik.
Saya membuat kode QR untuk memasukkan gambar:
Sebelumnya, saya memberi Anda kode encoding kode 1QR gratis yang diubah menggunakan proyek open source ZXing, tetapi gagal memasukkan gambar. Setelah beberapa upaya saat ini, gambar itu berhasil dimasukkan ke dalam kode QR dan dapat mengkode dan memecahkan kode. Kunci untuk memasukkan gambar terletak pada penyesuaian koefisien toleransi kesalahan kode QR, yang dijelaskan secara rinci dalam kode sumber.
Antarmuka:
Untuk memasukkan gambar ke dalam kode QR dan memecahkan kode secara normal, perhatikan dua poin berikut:
1. Koefisien toleransi kesalahan pengaturan kode QR harus tinggi;
Dalam proyek zxing, koefisien toleransi kesalahan dapat diatur ketika kode QR dihasilkan:
Setel EncodeHintType.Error_Correction ke errorCorrectionLevel.h
// Bangun Kode QR Writer MultiformatWriter mutiwriter = baru com.google.zxing.multiformatwriter (); Hashtable hint = hashtable baru (); hint.add (encodehinttype.character_set, "UTF-8"); hint.add (encodehinttype.error_correction, com.google.zxing.qrcode.decoder.errorcorrectionlevel.h); // menghasilkan kode qr bytematrix bm = mutiwriter.encode (txtmsg.text, com.google.zxing.barcodeformat.qr_code, 300, 300, petunjuk); Bitmap img = bm.tobitmap ();
2. Ukuran dan posisi gambar yang dimasukkan di tengah harus sesuai;
Jika gambar tengah terlalu besar dan mencakup sebagian besar area kode QR, itu pasti tidak akan berfungsi. Jika terlalu kecil, itu tidak akan memiliki efek yang dipersonalisasi.
Jadi seberapa besar cocok? Menurut karakteristik kode QR yang dijelaskan dalam artikel sebelumnya, tiga sudut dengan kotak adalah area data, yang tidak dapat dicakup. Hanya area di sudut kanan tengah dan bawah yang dapat ditutupi, tetapi seharusnya tidak terlalu besar.
Setelah pengujian, lebih tepat untuk memiliki ukuran gambar kecil di akun tengah untuk 2/7 dari total lebar kode QR, yang tidak hanya memenuhi kejelasan gambar, tetapi juga tidak mempengaruhi data terenkripsi kode QR.
Gambar -gambar kecil ditempatkan paling baik di tengah, dan bentuknya bisa tidak teratur.
Terima kasih telah membaca, saya harap ini dapat membantu Anda. Terima kasih atas dukungan Anda untuk situs ini!