canvas繪制圓角頭像


如果你想繪制的網頁包含一個圓弧形的頭像的canvas圖片,但是頭像本身是正方形的,需要的方法如下:
首先, 拿到頭像在畫布上的坐標和寬高:(具體怎么獲取不在此做具體介紹)

使用canvas繪制圓弧動畫

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

然后 只需要調用以下函數即可:


let Canvas = document.createElement('canvas');
let ctx = Canvas.getContext("2d");
let avatar = new Image();
avatar.src = '../src/xx.png';
avatar.onload = (scaleBy = 2) => {
   circleImg(ctx, avatar, avatarX * scaleBy, avatarY * scaleBy, avatarW * scaleBy / 2);
}

// r: 半徑
function circleImg(ctx, img, x, y, r) {
    ctx.save();
    var d =2 * r;
    var cx = x + r;
    var cy = y + r;
    ctx.arc(cx, cy, r, 0, 2 * Math.PI);
    ctx.clip();
    ctx.drawImage(img, x, y, d, d);
    ctx.restore();
} 

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM