1. ホーム
  2. Web制作
  3. html5

キャンバスに丸みを帯びたアバターを描く方法

2022-01-31 03:43:45

丸みを帯びたアバターのキャンバス画像を含むウェブページを描きたいが、アバター自体は正方形である場合、必要な方法は以下の通りです。

まず、キャンバス上のアバターの座標と幅と高さを取得します。(取得方法はここでは割愛します)

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: radius
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();
} 



以上、本記事の全内容をご紹介しましたが、皆様の学習のお役に立てれば幸いです。また、Script Houseをより一層応援していただければ幸いです。