canvas绘制圆角头像

不念不忘少年蓝@ 2022-03-25 03:00 373阅读 0赞

如果你想绘制的网页包含一个圆弧形的头像的canvas图片,但是头像本身是正方形的,需要的方法如下:
首先, 拿到头像在画布上的坐标和宽高:(具体怎么获取不在此做具体介绍)

使用canvas绘制圆弧动画

  1. let {avatarX, avatarY, avatarW, avatarH} = {20, 20, 80, 80};

然后 只需要调用以下函数即可:

  1. let Canvas = document.createElement('canvas');
  2. let ctx = Canvas.getContext("2d");
  3. let avatar = new Image();
  4. avatar.src = '../src/xx.png';
  5. avatar.onload = (scaleBy = 2) => {
  6. circleImg(ctx, avatar, avatarX * scaleBy, avatarY * scaleBy, avatarW * scaleBy / 2);
  7. }
  8. // r: 半径
  9. function circleImg(ctx, img, x, y, r) {
  10. ctx.save();
  11. var d =2 * r;
  12. var cx = x + r;
  13. var cy = y + r;
  14. ctx.arc(cx, cy, r, 0, 2 * Math.PI);
  15. ctx.clip();
  16. ctx.drawImage(img, x, y, d, d);
  17. ctx.restore();
  18. }

来源:https://segmentfault.com/a/1190000017927730

发表评论

表情:
评论列表 (有 0 条评论,373人围观)

还没有评论,来说两句吧...

相关阅读

    相关 canvas图片画圆角

    获取屏幕比率 有的手机屏幕实际分辨率的像素比页面过去的尺寸像素要大,一遍是一倍或者两倍 var getPixelRatio = function(context)

    相关 canvas绘制圆角头像

    如果你想绘制的网页包含一个圆弧形的头像的canvas图片,但是头像本身是正方形的,需要的方法如下: 首先, 拿到头像在画布上的坐标和宽高:(具体怎么获取不在此做具体介绍)