canvas rotate 累加旋转_微信小程序canvas画图总结

本章为自己使用微信小程序canvas画图的总结,包括环形图和折线图。先上效果图

35981f31afec2745fb02ca3797f21684.png
环形图和折线图

一:环形图。画环形图非常简单,程序小白也无需慌张。 先上代码

6fa0ce756783dda47603e1f9766ff026.png
环形图源码

重点归纳:

  • CanvasContext.beginPath();//在最开始的时候相当于调用了一次beginPath;如果在一个canvas中需要画多条线,需要调用beginPath来开启路径,调用closePath()来关闭路径。closePath会连接起点和终点。
  • 如果没有调用fill或者stroke并开启了新的路径,那之前的路径将不会被渲染
  • ctx.setFillStyle('red');//填充色 。ctx.setStrokeStyle('red');//描边颜色。设置字体颜色使用ctx.setFillStyle('red');
  • context.draw();//将之前在绘图上下文中的描述(路径、变形、样式)画到 canvas 中。不需要像stroke一样每开启一条路径都需要调用一次stroke.调用一次draw()方法会将之前在画布中绘制的图形都画出来

二:第一张图折现图的源码

fddf6025b13737dd4395a5364deab49b.png

重点归纳:

  • 坐标系转换。canvas的坐标起点是左上角,我们常规思维的坐标系起点为左下角,这时候需要进行坐标系转换。 ctx.translate(35, 130);//平移原点坐标 ctx.rotate(Math.PI);//将坐标系旋转180°,得到与数学坐标系水平相反的坐标系 ctx.scale(-1, 1);//将坐标系水平翻转
  • 翻转坐标系后文字也是反的,所以需要在翻转坐标系之前先填充坐标轴文字
  • 淡蓝色折现区域//利用两个金额点和两个坐标点形成闭合区域,然后填充。
  • ctx.setFillStyle('rgba(14,156,255,0.2)');折现和折现区域是同一个色号,折现区域设置了透明度
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值