返回
小程序中的js - 纯基础知识---画※
前端
2023-12-14 07:09:00
小程序中的js - 纯基础知识---画※
# 基础知识 #
绘制圆形
// 画一个圆形
const ctx = wx.createCanvasContext('myCanvas')
ctx.beginPath()
ctx.arc(100, 100, 50, 0, 2 * Math.PI)
ctx.setFillStyle('red')
ctx.fill()
ctx.draw()
绘制矩形
// 画一个矩形
const ctx = wx.createCanvasContext('myCanvas')
ctx.beginPath()
ctx.rect(100, 100, 100, 100)
ctx.setFillStyle('blue')
ctx.fill()
ctx.draw()
绘制线条
// 画一条线
const ctx = wx.createCanvasContext('myCanvas')
ctx.beginPath()
ctx.moveTo(100, 100)
ctx.lineTo(200, 200)
ctx.setStrokeStyle('green')
ctx.stroke()
ctx.draw()
绘制文本
// 画一段文本
const ctx = wx.createCanvasContext('myCanvas')
ctx.setFontSize(20)
ctx.setFillStyle('black')
ctx.fillText('Hello World!', 100, 100)
ctx.draw()
绘制图片
// 画一张图片
const ctx = wx.createCanvasContext('myCanvas')
ctx.drawImage('image.png', 100, 100, 100, 100)
ctx.draw()
监听触摸事件
// 监听触摸事件
const ctx = wx.createCanvasContext('myCanvas')
wx.onTouchStart((e) => {
ctx.beginPath()
ctx.moveTo(e.touches[0].x, e.touches[0].y)
})
wx.onTouchMove((e) => {
ctx.lineTo(e.touches[0].x, e.touches[0].y)
ctx.stroke()
})
wx.onTouchEnd((e) => {
ctx.closePath()
})
保存画布
// 保存画布
const ctx = wx.createCanvasContext('myCanvas')
ctx.draw(true, () => {
wx.canvasToTempFilePath({
canvasId: 'myCanvas',
success: (res) => {
console.log(res.tempFilePath)
}
})
})