微信小程序Canvas绘制圆形图片

<canvas canvas-id="myCanvas"/>
//获取设备的信息
let mobile = wx.getSystemInfoSync();
//获取设计图纸换算比例(用于自适应所有屏幕)
let ratio = mobile.windowWidth / 375;(375px为iphone6屏幕宽度)
const ctx = wx.createCanvasContext('myCanvas')
//图片宽度、高度
var arcWidth = 26 * ratio;
//x-轴坐标
var xCoor = 21 * ratio;
//y-轴坐标
var yCoor = 32 * ratio;
//需要将网络图片url 转为本地临时路径(res.tempFilePath为图片临时路径)
//微信定义:clip() 方法从原始画布中剪切任意形状和尺寸。一旦剪切了某个区域,则所有之后的绘图都会被限制在被剪切的区域内(不能访问画布上的其他区域)。可以在使用 clip() 方法前通过使用 save() 方法对当前画布区域进行保存,并在以后的任意时间对其进行恢复(通过 restore() 方法)。
wx.downloadFile({
  url: 'http://is5.mzstatic.com/image/thumb/Purple128/v4/75/3b/90/753b907c-b7fb-5877-215a-759bd73691a4/source/50x50bb.jpg',
  success: function(res) {
      ctx.save()
      ctx.beginPath()
      ctx.arc(xCoor+arcWidth/2, yCoor+arcWidth/2, arcWidth/2, 0, Math.PI * 2, false);
      ctx.clip()
      ctx.drawImage(res.tempFilePath,xCoor, yCoor,arcWidth,arcWidth);
      ctx.restore()
      ctx.draw()
  }
})

 

 

 

 

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值