标签:中心 针对 limit stroke sso var == 关闭 str
(1).API接口
(2).context 对象的方法列表
二.步骤
wxml中:
<canvas canvas-id="myCanvas" class="myCanvas" ></canvas>
在js文件onLoad: function() {}的方法中开始编写代码
1.创建一个 Canvas 绘图上下文 CanvasContext
const ctx = wx.createCanvasContext(‘myCanvas‘)
2.们来描述要在 Canvas 中绘制什么内容(绘图描述)
①.样式的描述
ctx.setFillStyle(‘red‘)
②形状描述:填充矩形,描边矩形,圆,线段等
ctx.fillRect(10, 10, 150, 75)
3.绘制
ctx.draw()
三.效果
wxml中:
<canvas canvas-id="myCanvas" class="myCanvas" ></canvas>
(1).绘制矩形:参数都是(起点x1,起点y1,宽度,长度)
①填充矩形
填充颜色:setFillStyle(‘red‘)
填充矩形:ctx.fillRect(10, 10, 150, 75)或是ctx.rect(10, 10, 150, 75)如果没有填充颜色,则默认是黑色
js文件中
const ctx = wx.createCanvasContext(‘myCanvas‘)
ctx.setFillStyle(‘red‘)
ctx.fillRect(10, 10, 150, 75)
ctx.draw()
const ctx = wx.createCanvasContext(‘myCanvas‘)
ctx.setStrokeStyle(‘red‘)
ctx.strokeRect(10, 10, 150, 75)
ctx.draw()
<canvas canvas-id="myCanvas" style="border: 1px solid; background: #123456;"/>
js中: onLoad: function() {
const ctx = wx.createCanvasContext(‘myCanvas‘);
ctx.setFillStyle(‘red‘);
ctx.fillRect(0, 0, 150, 200);
ctx.setFillStyle(‘blue‘);
ctx.fillRect(150, 0, 150, 200);
ctx.clearRect(10, 10, 150, 75);
ctx.draw();
}
const ctx = wx.createCanvasContext(‘myCanvas‘)
ctx.moveTo(10, 10)
ctx.lineTo(100, 10)
ctx.lineTo(100, 100)
ctx.fill()
ctx.draw()
const ctx = wx.createCanvasContext(‘myCanvas‘)
// begin path
ctx.rect(10, 10, 100, 30)
ctx.setFillStyle(‘yellow‘)
ctx.fill()
// begin another path
ctx.beginPath()
ctx.rect(10, 40, 100, 30)
// only fill this rect, not in current path
ctx.setFillStyle(‘blue‘)
ctx.fillRect(10, 70, 100, 30)
ctx.rect(10, 100, 100, 30)
// it will fill current path
ctx.setFillStyle(‘red‘)
ctx.fill()
ctx.draw()
const ctx = wx.createCanvasContext(‘myCanvas‘)
ctx.moveTo(10, 10)
ctx.lineTo(100, 10)
ctx.lineTo(100, 100)
ctx.stroke()
ctx.draw()
const ctx = wx.createCanvasContext(‘myCanvas‘)
// begin path
ctx.rect(10, 10, 100, 30)
ctx.setStrokeStyle(‘yellow‘)
ctx.stroke()
// begin another path
ctx.beginPath()
ctx.rect(10, 40, 100, 30)
// only stoke this rect, not in current path
ctx.setStrokeStyle(‘blue‘)
ctx.strokeRect(10, 70, 100, 30)
ctx.rect(10, 100, 100, 30)
// it will stroke current path
ctx.setStrokeStyle(‘red‘)
ctx.stroke()
ctx.draw()
const ctx = wx.createCanvasContext(‘myCanvas‘)
ctx.moveTo(10, 10)
ctx.lineTo(100, 10)
ctx.lineTo(100, 100)
ctx.closePath()
ctx.stroke()
ctx.draw()
const ctx = wx.createCanvasContext(‘myCanvas‘)
ctx.moveTo(10, 10)
ctx.rect(10, 10, 100, 50)
ctx.lineTo(110, 60)
ctx.stroke()
ctx.draw()
var app = getApp()
Page({
onLoad: function() {
const ctx = wx.createCanvasContext(‘myCanvas‘)
// 绘制一个灰色园
ctx.arc(100, 75, 50, 0, 2 * Math.PI)
ctx.setFillStyle(‘#EEEEEE‘)
ctx.fill()
//绘制一个坐标系
ctx.beginPath()
ctx.moveTo(40, 75)
ctx.lineTo(160, 75)
ctx.moveTo(100, 15)
ctx.lineTo(100, 135)
ctx.setStrokeStyle(‘#AAAAAA‘)
ctx.stroke()
//坐标系4个点的数字
ctx.setFontSize(12)
ctx.setFillStyle(‘black‘)
ctx.fillText(‘0‘, 165, 78)
ctx.fillText(‘0.5*PI‘, 83, 145)
ctx.fillText(‘1*PI‘, 15, 78)
ctx.fillText(‘1.5*PI‘, 83, 10)
// 绘制圆心那个点
ctx.beginPath()
ctx.arc(100, 75, 2, 0, 2 * Math.PI)
ctx.setFillStyle(‘lightgreen‘)
ctx.fill()
//绘制1.5*PI的那个点
ctx.beginPath()
ctx.arc(100, 25, 2, 0, 2 * Math.PI)
ctx.setFillStyle(‘blue‘)
ctx.fill()
//绘制0的那个点
ctx.beginPath()
ctx.arc(150, 75, 2, 0, 2 * Math.PI)
ctx.setFillStyle(‘red‘)
ctx.fill()
// 绘制黑线的弧度
ctx.beginPath()
ctx.arc(100, 75, 50, 0, 1.5 * Math.PI)
ctx.setStrokeStyle(‘#333333‘)
ctx.stroke()
ctx.draw()
}
})
const ctx = wx.createCanvasContext(‘myCanvas‘) ctx.setFontSize(20) ctx.fillText(‘Hello‘, 20, 20) ctx.fillText(‘MINA‘, 100, 100) ctx.draw()
onLoad: function() { const ctx = wx.createCanvasContext(‘myCanvas‘) // 创建线性渐变 const grd = ctx.createLinearGradient(0, 0, 200, 0) grd.addColorStop(0, ‘red‘) grd.addColorStop(1, ‘white‘) // 绘制图形 ctx.setFillStyle(grd) ctx.fillRect(10, 10, 150, 80) ctx.draw() }
onLoad: function() { const ctx = wx.createCanvasContext(‘myCanvas‘) // 创建圆形渐变 const grd = ctx.createCircularGradient(75, 50, 40) grd.addColorStop(0, ‘red‘) grd.addColorStop(1, ‘white‘) // 绘制图形 ctx.setFillStyle(grd) ctx.fillRect(10, 10, 150, 100) ctx.draw() }
const ctx = wx.createCanvasContext(‘myCanvas‘) ctx.setFillStyle(‘red‘) ctx.setShadow(10, 50, 50, ‘blue‘) ctx.fillRect(10, 10, 150, 75) ctx.draw()
const ctx = wx.createCanvasContext(‘myCanvas‘) ctx.strokeRect(10, 10, 25, 15) ctx.scale(2, 2) ctx.strokeRect(10, 10, 25, 15) ctx.scale(2, 2) ctx.strokeRect(10, 10, 25, 15) ctx.draw()
const ctx = wx.createCanvasContext(‘myCanvas‘) ctx.strokeRect(100, 10, 150, 100) ctx.rotate(20 * Math.PI / 180) ctx.strokeRect(100, 10, 150, 100) ctx.rotate(20 * Math.PI / 180) ctx.strokeRect(100, 10, 150, 100) ctx.draw()
const ctx = wx.createCanvasContext(‘myCanvas‘) ctx.strokeRect(10, 10, 150, 100) ctx.translate(20, 20) ctx.strokeRect(10, 10, 150, 100) ctx.translate(20, 20) ctx.strokeRect(10, 10, 150, 100) ctx.draw()
onLoad: function() { const ctx = wx.createCanvasContext(‘myCanvas‘); //绘制线段 ctx.moveTo(10, 10); ctx.lineTo(150, 10); ctx.stroke(); //线条的端点样式:butt ctx.beginPath(); ctx.setLineCap(‘butt‘); ctx.setLineWidth(10); ctx.moveTo(10, 30); ctx.lineTo(150, 30); ctx.stroke(); //线条的端点样式:round ctx.beginPath(); ctx.setLineCap(‘round‘); ctx.setLineWidth(10); ctx.moveTo(10, 50); ctx.lineTo(150, 50); ctx.stroke(); //线条的端点样式:square ctx.beginPath(); ctx.setLineCap(‘square‘); ctx.setLineWidth(10); ctx.moveTo(10, 70); ctx.lineTo(150, 70); ctx.stroke(); ctx.draw(); }
const ctx = wx.createCanvasContext(‘myCanvas‘); //绘制线段 ctx.beginPath(); ctx.moveTo(10, 10); ctx.lineTo(100, 50); ctx.lineTo(10, 90); ctx.stroke(); ctx.beginPath(); ctx.setLineJoin(‘bevel‘); ctx.setLineWidth(10); ctx.moveTo(50, 10); ctx.lineTo(140, 50); ctx.lineTo(50, 90); ctx.stroke(); ctx.beginPath(); ctx.setLineJoin(‘round‘); ctx.setLineWidth(10); ctx.moveTo(90, 10); ctx.lineTo(180, 50); ctx.lineTo(90, 90); ctx.stroke(); ctx.beginPath(); ctx.setLineJoin(‘miter‘); ctx.setLineWidth(10); ctx.moveTo(130, 10); ctx.lineTo(220, 50); ctx.lineTo(130, 90); ctx.stroke(); ctx.draw(); }
onLoad: function() { const ctx = wx.createCanvasContext(‘myCanvas‘); ctx.setFillStyle(‘red‘); ctx.fillRect(10, 10, 150, 100); ctx.setGlobalAlpha(0.2); ctx.setFillStyle(‘blue‘); ctx.fillRect(50, 50, 150, 100); ctx.setFillStyle(‘yellow‘); ctx.fillRect(100, 100, 150, 100); ctx.draw(); }
const ctx = wx.createCanvasContext(‘myCanvas‘) // save the default fill style ctx.save() ctx.setFillStyle(‘red‘) ctx.fillRect(10, 10, 150, 100) // restore to the previous saved state ctx.restore() ctx.fillRect(50, 50, 150, 100) ctx.draw()
标签:中心 针对 limit stroke sso var == 关闭 str
原文地址:http://blog.csdn.net/gao_xu_520/article/details/71157926