Minggu, 20 November 2011

kode QR

Setelah menulis posting ini tentang kode QR somone hacking, Hack Sebuah commenters Hari keluar dengan kekuatan penuh posting beberapa link yang sangat keren tentang memodifikasi kode QR untuk memasukkan logo. Saya sepenuhnya akan mengakui bahwa aku geeked keluar sedikit, namun dalam proses saya menemukan beberapa teori di balik logo embedding dalam kode QR.

Setelah mendapatkan tangan saya pada spesifikasi 18004 ISO untuk kode QR, saya memutuskan untuk mencoba menanamkan Hack Sebuah tengkorak Hari & kunci-kunci di dalam kode QR. Tools yang saya digunakan adalah Photoshop, ini generator kode QR, dan Microsoft Paint (saya belum pernah melihat sebuah program untuk mengedit piksel individu yang memiliki UI yang lebih baik, jadi jangan tertawa).


Untuk ini 'bagaimana-untuk, "Aku akan berjalan melalui proses memodifikasi Versi 6 kode QR. Versi 6 kode QR adalah 41 piksel persegi, dan merupakan keseimbangan yang sangat baik antara jumlah data yang dapat disajikan dan ukuran fisik dari kode itu sendiri. Di bawah ini menunjukkan apa yang mutlak diperlukan sebuah standar 6 Versi kode QR. Dalam prakteknya, apa yang sebenarnya diperlukan adalah sedikit berbeda, tapi aku hanya akan pergi dengan spesifikasi untuk saat ini.



Hitam dalam grafik ini akan selalu hitam, pixel putih dalam grafik ini akan selalu putih, merah adalah "tetap keluar zona," dan abu-abu band hitam dan putih bergantian "tidak peduli." Di sisi atas dan kiri dari kode QR adalah 'pola waktu.' Ini adalah sedikit yang membagi segala sesuatu pada kode QR ke kolom dan baris. Bagian abu-abu grafis ini dipisahkan menjadi 172 pixel 8-zona, seperti yang ditunjukkan di bawah ini:



Jika ada yang ingin teorema 4-warna peta ini, saya dengan senang hati akan memperbaruinya.

Beberapa zona non-contiguous, jadi saya menggambar garis-garis hitam yang menghubungkan bagian-bagian yang sesuai. Masing-masing 8-piksel bagian diterjemahkan ke dalam satu byte data dalam kode QR alfanumerik. Sekarang, pertanyaan sejuta dolarnya: mengapa adalah mengetahui bagaimana byte tersebut diatur dalam kode QR penting? Jawabannya adalah dengan tingkat tinggi koreksi kesalahan, sekitar 30% dari byte dapat omong kosong lengkap, dan telepon Anda masih akan dapat membaca kode QR. dengan 172 daerah, yang berarti sekitar 51 dari mereka dapat diubah dengan cara apapun, bentuk atau bentuk.

Jadi, bagaimana kita menerapkan ini? Pertama, kita mulai dengan Hack crappily-ditarik Sebuah logo Hari:



Sangat penting untuk mencakup ruang positif dan negatif ketika merancang logo ini. Jika ada wasn'ta perbatasan putih terjadi di sekitar logo, pixel hitam dan putih secara acak akan ditempatkan tepat terhadap logo. Tentu saja, aku yakin seseorang akan datang dengan desain besar yang mengabaikan teknik ini, tapi aku hanya akan melakukannya dengan cara ini untuk sekarang. Setelah overlay Hack Sebuah logo Hari di atas peta warna dari kode QR, kita mendapatkan ini:



Kemudian kita secara fisik menghitung jumlah piksel 8 sel yang dikaburkan oleh logo. Karena kita melakukan Versi 6 kode QR, sekitar 51 dari sel-sel ini dapat ditutup-tutupi. Ini terlihat seperti ini grafis oke, jadi kami pindah ke langkah berikutnya: meletakkan sebuah kode QR nyata dalam hal ini.

Saya menggunakan situs ini untuk menghasilkan semua kode QR saya untuk posting ini. Hal ini memungkinkan Anda untuk memilih nomor versi QR dan tingkat koreksi kesalahan. Setelah mengetikkan "http://www.hackaday.com" sebagai kode saya ingin tertanam, saya berakhir dengan ini:



Orang ini kecil ini akan di kartu bisnis kami.

Itu semua baik dan bagus, tetapi bagaimana jika Anda ingin menempatkan logo dalam kode QR yang sedikit lebih besar dari apa yang akan 'normal' akan diizinkan? Bagaimana jika, misalnya, Anda ingin menginjak ke wilayah waktu di sisi atas dan kiri dari kode QR? Ini adalah di mana desain logo masuk Jika sudah memiliki bolak piksel hitam dan putih, seperti 'Death Star' AT & T misalnya, itu cukup mudah untuk memiliki logo yang tumpang tindih pola waktu.



Ya, saya menggunakan Versi 14 kode QR untuk ini, yang berarti 73 piksel itu di sisi. Aku datang dengan satu lebih kecil, tapi itu benar-benar tidak terlihat baik.

Perhatikan bar biru. Penafsir kode QR tidak peduli jika sebuah pixel berwarna merah putih, hitam,, oranye, atau merah marun - hal-hal kontras saja. Karena biru di Big Blue cukup gelap, register sebagai piksel gelap. Hal ini dapat dimanfaatkan dengan menambahkan baik kontras visual dan menyingkirkan perbatasan 1-pixel yang diperlukan dari 1-bit grafis.



Jika logo Firefox memiliki perbatasan putih, logo akan mencakup lebih dari 30% dari kode QR. Menempatkan dalam penuh warna grafis - terutama yang mendefinisikan dirinya dari latar belakang dengan ujung gelap seperti ikon - mendapat sekitar perlunya sebuah perbatasan putih semua jalan di sekitar logo. Saya yakin ada cara yang lebih cerdas mempermainkan dengan palet logo, tapi aku akan membiarkan yang pergi untuk lain waktu.

Tapi tunggu, masih ada lagi. Aku tidak terbatas pada resolusi kode QR - Aku dapat overlay barang pada resolusi lebih tinggi dari QR. Pengamatan ini menuntun saya untuk ini:



Ya, ia bekerja.

Aku berharap ini bagaimana-untuk itu setidaknya membantu sedikit dalam menunjukkan bagaimana logo dapat dimasukkan ke dalam kode QR. Jika Anda punya contoh yang rapi ini, meninggalkan catatan di komentar atau kirim dalam pada garis ujung.

New! Hold down the shift key, click, and drag the words above to reorder. Dismiss
Google Translate for Business:Translator Toolkit
Website Translator
Global Market Finder
Turn off instant translation
About Google TranslateMobilePrivacyHelpSend feedback

Tidak ada komentar: