キャンバスに丸みを帯びたアバターを描く方法
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をより一層応援していただければ幸いです。
関連
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
HTMLとCSSを使ったタグクラウド効果(デモあり)
-
wx.hideMenuItemsを使用してH5の開発を解決する方法を説明する 効果がない 効果がない
-
h5モバイルコール Alipay、WeChat決済の実装
-
HTML5 Blobによるファイルダウンロード機能のサンプルコード
-
キャンバスのマウスがアニメーションの背景に従うことを達成するために5分
-
HTML5 WebGLを用いた医療用物流システム
-
HTML5ページの長押しで画像を保存する機能を解決するための記事
-
Html5ベースの音声検索機能
-
異なるiosデバイスでのh5ページの詳細 問題点まとめ
-
透明度を変更するためのキャンバスピクセル処理コード