小程序画布图片切圆角

图片,矩形都可用(兼容苹果,安卓)

roundRect1(ctx, bg_x, bg_y, bg_w, bg_h, bg_r) {
    // 开始绘制
    ctx.beginPath();
    //bg_x 图片的x坐标
    //  图片的y坐标bg_y
    //  图片宽度bg_w
    //  图片高度bg_h
    // 图片圆角bg_r
    ctx.arc(bg_x + bg_r, bg_y + bg_r, bg_r, Math.PI, Math.PI * 1.5);
    ctx.arc(bg_x + bg_w - bg_r, bg_y + bg_r, bg_r, Math.PI * 1.5, Math.PI * 2);
    ctx.arc(bg_x + bg_w - bg_r, bg_y + bg_h - bg_r, bg_r, 0, Math.PI * 0.5);
    ctx.arc(bg_x + bg_r, bg_y + bg_h - bg_r, bg_r, Math.PI * 0.5, Math.PI);
  },
  //调用方法
  ctx.save()
      this.roundRect1(ctx, 15,  28, 105, 105, 8)
      ctx.clip()
      ctx.restore()

只切图片圆角(兼容苹果,安卓)

  roundRect(ctx,img,bg_x, bg_y, bg_w, bg_h, bg_r) {
    // ctx要操作的画布,bg_x:x轴距离,bg_y:y轴距离,bg_w:图片宽度,bg_h:图片高度,bg_r:圆角弧度
    // img图片路径
    ctx.save();
    // 开始绘制
    ctx.beginPath();//开始创建一个路径。需要调用 fill 或者 stroke 才会使用路径进行填充或描边
    ctx.arc(bg_x + bg_r, bg_y + bg_r, bg_r, Math.PI, Math.PI * 1.5);
    ctx.arc(bg_x + bg_w - bg_r, bg_y + bg_r, bg_r, Math.PI * 1.5, Math.PI * 2);
    ctx.arc(bg_x + bg_w - bg_r, bg_y + bg_h - bg_r, bg_r, 0, Math.PI * 0.5);
    ctx.arc(bg_x + bg_r, bg_y + bg_h - bg_r, bg_r, Math.PI * 0.5, Math.PI);
    ctx.clip();
    ctx.drawImage(img, bg_x, bg_y, bg_w, bg_h);
    // 恢复之前保存的绘图上下文
    ctx.restore();
  },
  //调用
  this.roundRect(ctx'图片路径', 15, 28, 105, 105, 8)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值