


Vue dan Canvas: Cara melaksanakan fungsi pengecaman tandatangan dan gerak isyarat tulisan tangan
Vue dan Canvas: Cara melaksanakan fungsi tanda tangan dan pengecaman gerak isyarat tulisan tangan
Pengenalan:
Fungsi pengecaman isyarat dan tanda tangan tulisan tangan semakin biasa dalam aplikasi moden, dan ia boleh menyediakan pengguna dengan cara interaksi yang lebih intuitif dan semula jadi. Sebagai rangka kerja bahagian hadapan yang popular, Vue.js boleh mencapai kedua-dua fungsi ini dengan elemen Kanvas. Artikel ini akan memperkenalkan cara menggunakan elemen Vue.js dan Canvas untuk melaksanakan tandatangan tulisan tangan dan fungsi pengecaman gerak isyarat serta memberikan contoh kod yang sepadan.
1. Pelaksanaan fungsi tandatangan tulisan tangan
Untuk melaksanakan fungsi tandatangan tulisan tangan, kita perlu mencipta komponen Vue yang mengandungi elemen Kanvas. Dalam komponen ini, kami akan melaksanakan fungsi untuk pengguna melukis tandatangan pada Kanvas.
<template> <div> <h1 id="手写签名">手写签名</h1> <canvas ref="canvas" @mousedown="startDrawing" @mousemove="drawing" @mouseup="stopDrawing"></canvas> <button @click="clearCanvas">清除</button> <button @click="saveSignature">保存</button> </div> </template> <script> export default { data() { return { isDrawing: false, signatureData: null } }, methods: { startDrawing(event) { this.isDrawing = true; const canvas = this.$refs.canvas; const ctx = canvas.getContext('2d'); ctx.beginPath(); ctx.moveTo(event.pageX - canvas.offsetLeft, event.pageY - canvas.offsetTop); }, drawing(event) { if (!this.isDrawing) return; const canvas = this.$refs.canvas; const ctx = canvas.getContext('2d'); ctx.lineTo(event.pageX - canvas.offsetLeft, event.pageY - canvas.offsetTop); ctx.stroke(); }, stopDrawing() { this.isDrawing = false; }, clearCanvas() { const canvas = this.$refs.canvas; const ctx = canvas.getContext('2d'); ctx.clearRect(0, 0, canvas.width, canvas.height); }, saveSignature() { const canvas = this.$refs.canvas; this.signatureData = canvas.toDataURL(); } } } </script> <style scoped> canvas { border: 1px solid black; } </style>
Dalam kod ini, kami mula-mula mentakrifkan dua atribut data, isDrawing dan signatureData, untuk merekodkan sama ada pengguna sedang melukis dan menyimpan data tandatangan. Dalam kaedah startDrawing, kami mendengar acara tekan tetikus, mendapatkan konteks elemen Kanvas, dan mula melukis laluan. Dalam kaedah lukisan, kami mengemas kini laluan lukisan dalam masa nyata sehingga tetikus dilepaskan. Dalam kaedah stopDrawing, kami menetapkan isDrawing kepada false untuk berhenti melukis laluan. Kaedah clearCanvas digunakan untuk mengosongkan kandungan pada Kanvas. Kaedah saveSignature menukarkan kandungan Kanvas kepada data berkod base64 dan menyimpannya ke signatureData.
2. Pelaksanaan fungsi pengecaman gerak isyarat
Untuk melaksanakan fungsi pengecaman gerak isyarat, kami boleh menggunakan perpustakaan pihak ketiga seperti Hammer.js untuk mengendalikan acara sentuhan dan bekerjasama dengan Kanvas untuk merealisasikan lukisan gerak isyarat dan pengecaman.
Mula-mula, pasang pustaka Hammer.js dalam projek:
npm install hammerjs --save
Kemudian, import pustaka Hammer.js dalam komponen Vue dan gunakannya untuk mengendalikan acara gerak isyarat:
<template> <div> <h1 id="手势识别">手势识别</h1> <canvas ref="canvas"></canvas> <button @click="recognizeGesture">识别</button> </div> </template> <script> import Hammer from 'hammerjs'; export default { mounted() { const canvas = this.$refs.canvas; const ctx = canvas.getContext('2d'); const mc = new Hammer(canvas); mc.get('swipe').set({ direction: Hammer.DIRECTION_ALL }); mc.on('swiperight swipeleft swipeup swipedown', function (event) { ctx.clearRect(0, 0, canvas.width, canvas.height); ctx.fillText(event.type, canvas.width / 2, canvas.height / 2); }); } } </script> <style scoped> canvas { border: 1px solid black; } </style>
Dalam kod ini, kami mula-mula mengimport Hammer.js perpustakaan, dan cipta objek Hammer dalam fungsi cangkuk yang dipasang bagi komponen Vue, dan nyatakan jenis gerak isyarat yang perlu dikenali. Kemudian, kami menggunakan kaedah mc.on untuk mendengar peristiwa gerak isyarat, dan dalam fungsi panggil balik yang sepadan, kosongkan kandungan pada Kanvas dan lukis jenis gerak isyarat.
Kesimpulan:
Dengan menggabungkan elemen Vue.js dan Canvas, kami boleh melaksanakan fungsi tanda tangan dan pengecaman gerak isyarat tulisan tangan dengan mudah. Fungsi tandatangan tulisan tangan boleh memberikan pengguna cara yang lebih intuitif dan semula jadi untuk menandatangani, manakala fungsi pengecaman isyarat boleh menyediakan pengguna dengan cara interaksi yang lebih bebas dan intuitif. Semoga artikel ini bermanfaat kepada anda, terima kasih kerana membaca!
Rujukan:
- Dokumentasi rasmi Vue: https://vuejs.org/
- Dokumentasi rasmi kanvas: https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API .
- Hammer dokumentasi rasmi js: https://hammerjs.github.io/
Atas ialah kandungan terperinci Vue dan Canvas: Cara melaksanakan fungsi pengecaman tandatangan dan gerak isyarat tulisan tangan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Vue.js disepadukan dengan tumpuan teknologi front-end untuk meningkatkan kecekapan pembangunan dan pengalaman pengguna. 1) Alat Pembinaan: Mengintegrasikan dengan Webpack dan Rollup untuk mencapai pembangunan modular. 2) Pengurusan Negeri: Bersepadu dengan VUEX untuk menguruskan status aplikasi yang kompleks. 3) Routing: Mengintegrasikan dengan Vuerouter untuk merealisasikan penghalaan aplikasi tunggal halaman. 4) Preprocessor CSS: Menyokong SASS dan kurang untuk meningkatkan kecekapan pembangunan gaya.

Netflix memilih React untuk membina antara muka penggunanya kerana reka bentuk komponen React dan mekanisme DOM maya dapat mengendalikan antara muka yang kompleks dan kemas kini yang kerap. 1) Reka bentuk berasaskan komponen membolehkan Netflix memecah antara muka ke dalam widget yang boleh diurus, meningkatkan kecekapan pembangunan dan pemeliharaan kod. 2) Mekanisme DOM maya memastikan kelancaran dan prestasi tinggi antara muka pengguna Netflix dengan meminimumkan operasi DOM.

Vue.js disukai oleh pemaju kerana mudah digunakan dan berkuasa. 1) Sistem pengikat data responsifnya secara automatik mengemas kini paparan. 2) Sistem komponen meningkatkan kebolehgunaan semula dan mengekalkan kod. 3) Ciri -ciri pengkomputeran dan pendengar meningkatkan kebolehbacaan dan prestasi kod. 4) Menggunakan vuedevtools dan memeriksa kesilapan konsol adalah teknik debugging biasa. 5) Pengoptimuman Prestasi termasuk penggunaan atribut utama, atribut yang dikira dan komponen-komponen Alive. 6) Amalan terbaik termasuk penamaan komponen yang jelas, penggunaan komponen fail tunggal dan penggunaan cangkuk kitaran hidup yang rasional.

Vue.js adalah rangka kerja JavaScript yang progresif yang sesuai untuk membina aplikasi front-end yang cekap dan boleh dipelihara. Ciri -ciri utamanya termasuk: 1. Pengikatan data responsif, 2. Pembangunan Komponen, 3. Dom maya. Melalui ciri -ciri ini, Vue.js memudahkan proses pembangunan, meningkatkan prestasi aplikasi dan mengekalkan, menjadikannya sangat popular dalam pembangunan web moden.

Vue.js dan bertindak balas masing -masing mempunyai kelebihan dan kekurangan mereka sendiri, dan pilihannya bergantung kepada keperluan projek dan keadaan pasukan. 1) vue.js sesuai untuk projek kecil dan pemula kerana kesederhanaan dan mudah digunakan; 2) React sesuai untuk projek besar dan UI yang kompleks kerana reka bentuk ekosistem dan komponennya yang kaya.

Vue.js meningkatkan pengalaman pengguna melalui pelbagai fungsi: 1. Sistem responsif menyedari maklum balas data masa nyata; 2. Pembangunan komponen meningkatkan kebolehgunaan semula kod; 3. Vuerouter menyediakan navigasi lancar; 4. Data dinamik mengikat dan animasi peralihan meningkatkan kesan interaksi; 5. Mekanisme pemprosesan ralat memastikan maklum balas pengguna; 6. Pengoptimuman prestasi dan amalan terbaik meningkatkan prestasi aplikasi.

Peranan vue.js dalam pembangunan web adalah bertindak sebagai rangka kerja JavaScript yang progresif yang memudahkan proses pembangunan dan meningkatkan kecekapan. 1) Ia membolehkan pemaju memberi tumpuan kepada logik perniagaan melalui pengikatan data yang responsif dan pembangunan komponen. 2) Prinsip kerja Vue.js bergantung kepada sistem responsif dan DOM maya untuk mengoptimumkan prestasi. 3) Dalam projek sebenar, adalah amalan biasa untuk menggunakan VUEX untuk menguruskan keadaan global dan mengoptimumkan respons data.

Vue.js adalah kerangka JavaScript yang progresif yang dikeluarkan oleh You Yuxi pada tahun 2014 untuk membina antara muka pengguna. Kelebihan terasnya termasuk: 1. Pengikatan data responsif, Paparan Kemas Kini Automatik Perubahan Data; 2. Pembangunan komponen, UI boleh dibahagikan kepada komponen bebas dan boleh diguna semula.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

MantisBT
Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

ZendStudio 13.5.1 Mac
Persekitaran pembangunan bersepadu PHP yang berkuasa

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Muat turun versi mac editor Atom
Editor sumber terbuka yang paling popular
