国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

基于canvas實現手寫簽名(vue)

瀏覽:42日期:2023-01-19 13:12:08

最近一直在研究canvas的東西,正好之前對手寫簽名這塊有點興趣。就自己基于vue寫了一個簡易的手寫簽名demo。

其中原理比較簡單,先生成一個canvas畫布,并對canvas進行touchstart和touchmove事件進行監聽。當監聽touchstart事件被觸發時,我們開始觸發canvas里的beginPath事件并且設置moveTo原始點。當監聽touchmove事件則去不斷去觸發lineTo事件,最后stroke()。

demo里還有清除簽名和保存簽名的功能,分別對應了clearRect()和toDataURL()方法。

具體的demo代碼如下:

<template> <div> <canvas height='150'> </canvas> <div class='btn'> <span @click='toClear()'>清除</span> <span @click='toSave()'>保存</span> </div> </div></template><script> export default { name: 'sign-name', data(){ return { ctx:null, canvas:null } }, mounted() { this.initPage() }, methods:{ initPage() { this.canvas = document.getElementById(’canvas’) if(this.canvas.getContext){ this.ctx = this.canvas.getContext(’2d’) let background = '#ffffff' this.ctx.lineCap = ’round’ this.ctx.fillStyle = background this.ctx.lineWidth = 2 this.ctx.fillRect(0,0,350,150) this.canvas.addEventListener('touchstart',(e)=>{console.log(123,e)this.ctx.beginPath()this.ctx.moveTo(e.changedTouches[0].pageX,e.changedTouches[0].pageY) }) this.canvas.addEventListener('touchmove',(e)=>{this.ctx.lineTo(e.changedTouches[0].pageX,e.changedTouches[0].pageY)this.ctx.stroke() }) } }, toClear() { this.ctx.clearRect(0,0,300,150) }, toSave() { let base64Img = this.canvas.toDataURL() console.log(123,base64Img) } } }</script><style lang='scss' scoped> .btn { height: px2Vw(55); position: fixed; bottom: 0; line-height: px2Vw(55); border-top: px2Vw(1) solid #f7f8f9; span { display: inline-block; width: px2Vw(185); text-align: center; } } canvas { position: fixed; border: 2px dashed #cccccc; float: right; }</style>

代碼運行后的效果圖如下:

基于canvas實現手寫簽名(vue)

基于canvas實現手寫簽名(vue)

這只是個簡易的demo,肯定會有很多未考慮到的地方。demo的下載地址

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Vue
相關文章:
主站蜘蛛池模板: 南澳县| 永兴县| 灵武市| 齐河县| 红安县| 大石桥市| 马尔康县| 开鲁县| 黄陵县| 江门市| 任丘市| 柞水县| 平遥县| 会同县| 玉门市| 离岛区| 桦川县| 乌拉特后旗| 江口县| 蒙阴县| 阳原县| 北辰区| 湖口县| 霞浦县| 三亚市| 南江县| 始兴县| 洞口县| 临安市| 海安县| 平定县| 东乡| 八宿县| 女性| 桂东县| 贵南县| 政和县| 井陉县| 抚远县| 上蔡县| 崇阳县|