Vue利用canvas实现移动端手写板的方法
这篇文章主要介绍了关于Vue利用canvas实现移动端手写板的方法,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下
本文介绍了Vue利用canvas实现移动端手写板的方法,分享给大家,具体如下:
<template> <p class="hello"> <!--touchstart,touchmove,touchend,touchcancel 这--> <button type="" v-on:click="clear">清除</button> <button v-on:click="save">保存</button> <canvas id="canvas" width="300" height="600" style="border:1px solid black">Canvas画板</canvas> <img v-bind:src="url" alt=""> </p> </template> <script> var draw; var preHandler = function(e){e.preventDefault();} class Draw { constructor(el) { this.el = el this.canvas = document.getElementById(this.el) this.cxt = this.canvas.getContext('2d') this.stage_info = canvas.getBoundingClientRect() this.path = { beginX: 0, beginY: 0, endX: 0, endY: 0 } } init(btn) { var that = this; this.canvas.addEventListener('touchstart', function(event) { document.addEventListener('touchstart', preHandler, false); that.drawBegin(event) }) this.canvas.addEventListener('touchend', function(event) { document.addEventListener('touchend', preHandler, false); that.drawEnd() }) this.clear(btn) } drawBegin(e) { var that = this; window.getSelection() ? window.getSelection().removeAllRanges() : document.selection.empty() this.cxt.strokeStyle = "#000" this.cxt.beginPath() this.cxt.moveTo( e.changedTouches[0].clientX - this.stage_info.left, e.changedTouches[0].clientY - this.stage_info.top ) this.path.beginX = e.changedTouches[0].clientX - this.stage_info.left this.path.beginY = e.changedTouches[0].clientY - this.stage_info.top canvas.addEventListener("touchmove",function(){ that.drawing(event) }) } drawing(e) { this.cxt.lineTo( e.changedTouches[0].clientX - this.stage_info.left, e.changedTouches[0].clientY - this.stage_info.top ) this.path.endX = e.changedTouches[0].clientX - this.stage_info.left this.path.endY = e.changedTouches[0].clientY - this.stage_info.top this.cxt.stroke() } drawEnd() { document.removeEventListener('touchstart', preHandler, false); document.removeEventListener('touchend', preHandler, false); document.removeEventListener('touchmove', preHandler, false); //canvas.ontouchmove = canvas.ontouchend = null } clear(btn) { this.cxt.clearRect(0, 0, 300, 600) } save(){ return canvas.toDataURL("image/png") } } export default { data () { return { msg: 'Welcome to Your Vue.js App', val:true, url:"" } }, mounted() { draw=new Draw('canvas'); draw.init(); }, methods:{ clear:function(){ draw.clear(); }, save:function(){ var data=draw.save(); this.url = data; console.log(data) }, mutate(word) { this.$emit("input", word); }, } } </script> <!-- Add "scoped" attribute to limit CSS to this component only --> <style scoped> h1, h2 { font-weight: normal; } ul { list-style-type: none; padding: 0; } li { display: inline-block; margin: 0 10px; } a { color: #42b983; } #canvas { background: pink; cursor: default; } #keyword-box { margin: 10px 0; } </style>
相关推荐:
Atas ialah kandungan terperinci Vue利用canvas实现移动端手写板的方法. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Bolehkah folder appdata dialihkan ke pemacu D Dengan peningkatan populariti penggunaan komputer, semakin banyak data peribadi dan aplikasi pengguna disimpan pada komputer. Dalam sistem pengendalian Windows, terdapat folder khusus yang dipanggil folder appdata, yang digunakan untuk menyimpan data aplikasi pengguna. Ramai pengguna tertanya-tanya sama ada folder ini boleh dialihkan ke pemacu D atau cakera lain untuk pengurusan data dan pertimbangan keselamatan. Dalam artikel ini, kami akan membincangkan masalah ini dan memberikan beberapa penyelesaian. Pertama, izinkan saya

Menurut berita pada 23 Julai, blogger Digital Chat Station mengumumkan bahawa kapasiti bateri Xiaomi 15 Pro telah ditingkatkan kepada 6000mAh dan menyokong pengecasan kilat berwayar 90W Ini akan menjadi model Pro dengan bateri terbesar dalam siri digital Xiaomi. Stesen Sembang Digital sebelum ini mendedahkan bahawa bateri Xiaomi 15Pro mempunyai ketumpatan tenaga ultra tinggi dan kandungan silikon jauh lebih tinggi daripada produk pesaing. Selepas bateri berasaskan silikon diuji secara besar-besaran pada tahun 2023, bateri anod silikon generasi kedua telah dikenal pasti sebagai hala tuju pembangunan industri pada tahun ini. 1. Kapasiti gram teoretikal silikon boleh mencapai 4200mAh/g, iaitu lebih daripada 10 kali ganda kapasiti gram grafit (kapasiti gram teoretikal grafit ialah 372mAh/g). Untuk elektrod negatif, kapasiti apabila jumlah kemasukan ion litium mencapai maksimum ialah kapasiti gram teori, yang bermaksud bahawa di bawah berat yang sama

Microsoft menukar nama PhoneLink kepada MobileDevice dalam versi Windows 11 terkini. Perubahan ini membolehkan pengguna mengawal akses komputer ke peranti mudah alih melalui gesaan. Artikel ini menerangkan cara mengurus tetapan pada komputer anda yang membenarkan atau menolak akses daripada peranti mudah alih. Ciri ini membolehkan anda mengkonfigurasi peranti mudah alih anda dan menyambungkannya ke komputer anda untuk menghantar dan menerima mesej teks, mengawal aplikasi mudah alih, melihat kenalan, membuat panggilan telefon, melihat galeri dan banyak lagi. Adakah idea yang baik untuk menyambungkan telefon anda ke PC anda? Menyambungkan telefon anda ke PC Windows anda ialah pilihan yang mudah, menjadikannya mudah untuk memindahkan fungsi dan media. Ini berguna untuk mereka yang perlu menggunakan komputer mereka apabila peranti mudah alih mereka tidak tersedia

Versi html2canvas termasuk html2canvas v0.x, html2canvas v1.x, dsb. Pengenalan terperinci: 1. html2canvas v0.x, yang merupakan versi awal html2canvas Versi stabil terkini ialah v0.5.0-alpha1. Ia adalah versi matang yang telah digunakan secara meluas dan disahkan dalam banyak projek;

"Operation Delta" akan melancarkan ujian PC berskala besar yang dipanggil "Codename: ZERO" hari ini (7 Mac). Hujung minggu lalu, permainan ini mengadakan acara pengalaman flash mob luar talian di Shanghai, dan 17173 juga bertuah kerana dijemput untuk mengambil bahagian. Ujian ini hanya tinggal lebih empat bulan lagi daripada kali terakhir, yang membuatkan kami tertanya-tanya, apakah sorotan dan kejutan baharu yang akan dibawa oleh "Operasi Delta" dalam tempoh yang singkat? Lebih empat bulan yang lalu, saya mengalami "Operasi Delta" dalam sesi merasa luar talian dan versi beta pertama. Pada masa itu, permainan hanya membuka mod "Tindakan Berbahaya". Walau bagaimanapun, Operasi Delta sudah mengagumkan pada zamannya. Dalam konteks pengeluar utama yang berpusu-pusu ke pasaran permainan mudah alih, FPS sedemikian yang setanding dengan piawaian antarabangsa

Atribut kanvas tkinter termasuk bg, bd, relief, lebar, ketinggian, kursor, latar belakang sorotan, warna sorotan, ketebalan sorotan, latar belakang sisipan, lebar sisipan, latar belakang pilih, latar belakang pilih, atribut perintah xscroll, dsb. Pengenalan terperinci

Baru-baru ini, Honor Mobile telah mengadakan persidangan pelancaran produk baharu dan secara rasmi melancarkan Honor Magic6RSR Porsche Design. Pada 22 Mac, CNMO mengetahui bahawa Honor Magic 6 RSR Porsche Design telah dilancarkan secara rasmi untuk jualan, dengan hanya versi 24GB+1TB tersedia pada harga 9,999 yuan. Honor Magic6 RSR menggunakan penampilan reka bentuk Porsche, diilhamkan oleh elemen klasik kereta sport super Porsche. Reka bentuk garisan belakang diilhamkan oleh reka bentuk garis terbang Porsche, dan modul kamera menggunakan reka bentuk heksagon ikonik, memberikan produk rasa tiga dimensi dan dinamik yang berbeza. Di samping itu, produk itu boleh didapati dalam dua warna, kelabu akik dan merah jambu aisberi, yang ditala warna oleh master asal Porsche, menyerlahkan lagi keindahan reka bentuknya yang unik. Dari segi teknologi skrin, Honor Magic6RSR mengekalkan

Cara menggunakan kanvas untuk melukis carta dan kesan animasi dalam uniapp memerlukan contoh kod khusus 1. Pengenalan Dengan populariti peranti mudah alih, semakin banyak aplikasi perlu memaparkan pelbagai carta dan kesan animasi pada terminal mudah alih. Sebagai rangka kerja pembangunan merentas platform berdasarkan Vue.js, uniapp menyediakan keupayaan untuk menggunakan kanvas untuk melukis carta dan kesan animasi. Artikel ini akan memperkenalkan cara uniapp menggunakan kanvas untuk mencapai kesan carta dan animasi serta memberikan contoh kod khusus. 2. kanvas
