下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第微信小程序实现简单手写签名组件的方法实例目录背景:需求:效果一、思路
二、实现
1.页面与样式
2.初始化
3.点击时
4.签名时
三、总结
背景:
在做项目过程中,需要在微信小程序中实现手写签名组件。在网上找了微信小程序手写签名实现,但是都是不太理想。在实际运用中,会因为实时计算较多的贝塞尔曲线而产生卡顿。效果不理想。所以退一步,不需要笔锋以及笔迹模拟效果。只需要简单的手写签名实现。
需求:
可以实现用户在微信小程序上手写签名。
需要组件化。
效果
一、思路
在微信小程序中,我们使用canvas组件实现。将用户的输入想象成为一只笔。我们要画的签名是由很多点构成的。但是单纯的点是不能很好地构成线。点与点之间还要由线连接。下面是实现过程代码。
二、实现
1.页面与样式
wxml
这里的canvas组件是最新的用法。
view
view
van-buttonsize="small"bind:click="clearCanvas"清空/van-button
/view
view
canvas
disable-scroll="{{true}}"
id="handWriting"
bindtouchstart="scaleStart"
bindtouchmove="scaleMove"
bindtouchend="scaleEnd"
bindtap="mouseDown"
type="2d"
/canvas
/view
/view
wxss
.btnList{
width:95%;
margin:0auto;
.handWriting{
background:#fff;
width:95%;
height:80vh;
margin:0auto
2.初始化
由于是在自定义组件中使用,所以要注意获取canvas的时候的this指向问题。如果不调用SelectorQuery的In方法,那么就在自定义组件获取不到canvas,因为这个时候指向的父组件。
Component({
*组件的初始数据
data:{
canvasName:'#handWriting',
ctx:'',
canvasWidth:0,
canvasHeight:0,
startPoint:{
x:0,
y:0,
selectColor:'black',
lineColor:'#1A1A1A',//颜色
lineSize:1.5,//笔记倍数
radius:5,//画圆的半径
ready(){
letcanvasName=this.data.canvasName;
letquery=wx.createSelectorQuery().in(this);//获取自定义组件的SelectQuery对象
query.select(canvasName)
.fields({node:true,size:true})
.exec((res)={
constcanvas=res[0].node;
constctx=canvas.getContext('2d');
//获取设备像素比
constdpr=wx.getSystemInfoSync().pixelRatio;
//缩放设置canvas画布大小,防止笔迹错位
canvas.width=res[0].width*dpr;
canvas.height=res[0].height*dpr;
ctx.scale(dpr,dpr);
ctx.lineJoin="round";
this.setData({ctx});
query.select('.handCenter').boundingClientRect(rect={
console.log('rect',rect);
this.setData({
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年南充科技职业学院单招职业技能测试题库及答案详解一套
- 2026年包头铁道职业技术学院单招职业技能考试题库带答案详解(a卷)
- 花艺环境设计师安全演练测试考核试卷含答案
- 感光材料乳剂熔化工班组管理考核试卷含答案
- 出河机司机复试能力考核试卷含答案
- 合成树脂生产工安全防护强化考核试卷含答案
- 生猪屠宰加工工7S考核试卷含答案
- 珂罗版制版员岗前冲突解决考核试卷含答案
- 妇女职业规划方案
- 乙烯-乙烯醇树脂装置操作工安全宣教水平考核试卷含答案
- 2026辽宁大连长兴岛经济技术开发区国有企业招聘渔港港站管理人员24人笔试备考试题及答案解析
- 项目经理廉洁警示教育
- 《浆体管道输送系统的过程监控与故障诊断》
- 高危儿规范化健康管理专家共识解读
- 农业物资:2024年化肥农药销售合同模板
- 2024年03月深圳市深汕特别合作区机关事业单位2024年公开招考46名事务员笔试历年典型考题及考点研判与答案解析
- 2024北京背户车协议书范本
- 巨量引擎推广引流方案
- 中国美食菜谱大全
- 盘扣架安全施工方案审核要点
- 法律、法规识别与管理制度
评论
0/150
提交评论