焦点原理说明:
1、能画出差别颜色的线条 主要是以下三个要领 setStrokeStyle(画笔的颜色) moveTo(把路径移动到画布中的指定点,,,,但不建设线条) lineTo(添加一个新点,,,,然后在画布中建设从该点到最后指定点的线条) 这样就可以从A点坐标到B点坐标 画出差别颜色的线条啦!!!
2、橡皮擦的原理:之以是能擦掉画布上的图像就是通过把要擦掉的区域绘制成与画布一样的颜色 这样就可以”诱骗”自己的眼睛 抵达橡皮擦的效果啦!!!
index.html
disable-scroll="false"
bindtouchstart="touchStart"
bindtouchmove="touchMove"
bindtouchend="touchEnd">
复制代码
手指滑动代码
//手指触摸行动最先
touchStart: function (e) {
//获得触摸点的坐标
this.startX = e.changedTouches[0].x
this.startY = e.changedTouches[0].y
this.context = wx.createContext()
if(this.isClear){ //判断是否启用的橡皮擦功效 ture体现扫除 false体现画画
this.context.setStrokeStyle('#F8F8F8') //设置线条样式 此处设置为画布的配景颜色 橡皮擦原理就是:使用掠过的地方被填充为画布的配景颜色一致 从而抵达橡皮擦的效果
this.context.setLineCap('round') //设置线条端点的样式
this.context.setLineJoin('round') //设置两线相交处的样式
this.context.setLineWidth(20) //设置线条宽度
this.context.save(); //生涯目今坐标轴的缩放、旋转、平移信息
this.context.beginPath() //最先一个路径
this.context.arc(this.startX,this.startY,5,0,2*Math.PI,true); //添加一个弧形路径到目今路径,,,,顺时针绘制 这里总共画了360度 也就是一个圆形
this.context.fill(); //对目今路径举行填充
this.context.restore(); //恢复之宿世存过的坐标轴的缩放、旋转、平移信息
}else{
this.context.setStrokeStyle(this.data.color)
this.context.setLineWidth(this.data.pen)
this.context.setLineCap('round') // 让线条圆润
this.context.beginPath()
}
},
//手指触摸后移动
touchMove: function (e) {
var startX1 = e.changedTouches[0].x
var startY1 = e.changedTouches[0].y
if(this.isClear){ //判断是否启用的橡皮擦功效 ture体现扫除 false体现画画
this.context.save(); //生涯目今坐标轴的缩放、旋转、平移信息
this.context.moveTo(this.startX,this.startY); //把路径移动到画布中的指定点,,,,但不建设线条
this.context.lineTo(startX1,startY1); //添加一个新点,,,,然后在画布中建设从该点到最后指定点的线条
this.context.stroke(); //对目今路径举行描边
this.context.restore() //恢复之宿世存过的坐标轴的缩放、旋转、平移信息
this.startX = startX1;
this.startY = startY1;
}else{
this.context.moveTo(this.startX, this.startY)
this.context.lineTo(startX1, startY1)
this.context.stroke()
this.startX = startX1;
this.startY = startY1;
}
//只是一个纪录要领挪用的容器,,,,用于天生纪录绘制行为的actions数组。。。。。context跟不保存对应关系,,,,一个context天生画布的绘制行动数组可以应用于多个
wx.drawCanvas({
canvasId: 'myCanvas',
reserve: true,
actions: this.context.getActions() // 获取绘图行动数组
})
}
复制代码
以上是一部分代码展示,,,,下面做焦点原理说明:
1、能画出差别颜色的线条 主要是以下三个要领 setStrokeStyle(画笔的颜色) moveTo(把路径移动到画布中的指定点,,,,但不建设线条) lineTo(添加一个新点,,,,然后在画布中建设从该点到最后指定点的线条) 这样就可以从A点坐标到B点坐标 画出差别颜色的线条啦!!!
2、橡皮擦的原理:之以是能擦掉画布上的图像就是通过把要擦掉的区域绘制成与画布一样的颜色 这样就可以”诱骗”自己的眼睛 抵达橡皮擦的效果啦!!!
以上就是怎样使用微信小程序的canvas组举行涂鸦的所有内容了,,,,各人都学会了吗?更多小程序开发入门。。。。。
KESION pp电子软件
KESION pp电子软件是海内领先的在线教育软件及私域社交电商软件服务提供商,,,,恒久专注于为企业提供在线教育软件及社交电商SaaS平台解决方案。。。。。
公司焦点产品云开店SaaS社交电商服务平台、在线教育SaaS服务平台、教育企业数字化SaaS云平台、企微营销助手、私有化自力安排品牌网校和在线教育咨询等。。。。。KESION 一直通过手艺立异,,,,提供产品和服务,,,,助力企业向数字化转型,,,,通过科技驱动商业刷新,,,,让商业变得更智慧!
小程序 list数据带值跳转,,,,一般直接通过设置item的id来标识或者通过设置键值data-xxxx的方式标识。。。。。...
许多时间各人在使用小程序时,,,,点击图片可以实现图片全屏,,,,图片占满整个屏幕的情形,,,,这是怎样实现的呢?...