この記事では、角を丸くするためのjsキャンバスの具体的なコードを参考までに紹介します。具体的な内容は次のとおりです。 角の丸い画像のコード実装: <!DOCTYPE html> <html lang="ja"> <ヘッド> <メタ文字セット="UTF-8"> <title>タイトル</title> </head> <body style="background: rgba(199,237,204,1)"> <div style="display:flex; flex-direction: row"> <!-- スタイルを使用してキャンバスの幅と高さを設定すると、描画されたコンテンツが Firefox 上で垂直方向に伸びます。 。 。 --> <canvas id="drawing" width="400px" height="400px">描画するキャンバス</canvas> <pre id="コンテナ" style="margin: 10px"/> <img src=//img.jbzj.com/file_images/article/202109/202191115608734.jpg> </div> </本文> <script type="text/javascript"> window.onlοad = 関数 () { var 描画 = document.getElementById('描画'); 描画コンテキストを取得する場合 print('サポート') RoundRectFunc() を追加します。 var context = drawing.getContext('2d'); 描画(コンテキスト); } それ以外 { print('not') を出力します。 } } 関数draw(コンテキスト) { context.fillStyle = '赤'; var image = document.images[0]; context.roundRect(0,0,image.width/2,image.height/2,30,true) context.globalCompositeOperation='ソースイン'; context.drawImage(画像、0、0、画像の幅/2、画像の高さ/2) // toImage(); } 関数addRoundRectFunc() { CanvasRenderingContext2D.prototype.roundRect = 関数 (x, y, 幅, 高さ, 半径, 塗りつぶし, ストローク) { if (typeof ストローク == "未定義") { ストローク = true; } if (typeof radius === "undefined") { 半径 = 5; } このメソッドは、次のようになります。 this.moveTo(x + 半径, y); this.lineTo(x + 幅 - 半径, y); this.quadraticCurveTo(x + 幅, y, x + 幅, y + 半径); this.lineTo(x + 幅、y + 高さ - 半径); this.quadraticCurveTo(x + 幅、y + 高さ、x + 幅 - 半径、y + 高さ); this.lineTo(x + 半径, y + 高さ); this.quadraticCurveTo(x, y + 高さ, x, y + 高さ - 半径); this.lineTo(x, y + 半径); this.quadraticCurveTo(x, y, x + 半径, y); this.closePath(); if (ストローク) { この.stroke(); } if (fill) { これを塗りつぶします。 } }; } 関数toImage() { var imageUri = drawing.toDataURL('image/png'); var imageTag = document.createElement('img'); imageTag.style = '余白:10px;幅:200px;高さ:200px' イメージタグ.src = イメージUri; document.body.appendChild(画像タグ) } 関数 print(txt) { document.getElementById("コンテナ").innerHTML += ('\n') + txt; } document.body.onclick = 関数(){ ウィンドウの場所を再読み込み() } console.log = 印刷; </スクリプト> </html> 効果画像: 小さなコードを追加します: キャンバスは角が丸い画像 (アバターなど) を生成します 円画像(ctx, 画像, 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(画像, x, y, d, d); ctx.restore(); } 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: Centos7 構成 fastdfs および nginx 分散ファイル ストレージ システムの実装プロセス分析
最近、Textrea に転送したときに、データが本当に行ごとに保存できるかどうかという問題に遭遇しま...
この記事では、ランダムロールコーラーを実装するためのJavaScriptの具体的なコードを参考までに...
新しいウィンドウが開きます。 利点: ユーザーがリンクをクリックしても、現在閲覧しているコンテンツは...
1: アドレス書き換えとアドレス転送の意味を理解する。アドレス書き換えとアドレス転送は異なる...
目次序文デモンストレーション効果HTMLコードCSSコードJavascriptコードデモアドレス序文...
導入MySQL は、私たちが日常業務で使用する非常に一般的なデータベースです。MySQL は現在 O...
この記事では、簡単な画像ドラッグ効果を実現するためのjsの具体的なコードを参考までに紹介します。具体...
序文ルーティングの管理は、ほとんどのシングルページ アプリケーションにとって不可欠な機能です。 Vu...
SQL とは何ですか? SQL はデータベースを操作するために使用される言語です。 SQL はすべ...
目次1. JSの特徴1.1 マルチパラダイム1.2 説明1.3 シングルスレッド1.4 ノンブロッキ...
この記事では、参考までにVueのファイルのアップロードとダウンロードの具体的なコードを紹介します。具...
1. .shファイルを実行する./sh ファイルを使用して直接実行することもできますが、現在のターミ...
目次1. Tomcat の概念–1、サーバー–2、ウェブサーバー–3、Tomcatサーバー次にTom...
この記事の例では、グラフィック検証コードを実装するためのVueプロジェクトの具体的なコードを参考まで...
成果を達成する実装コードhtml <div id="コンテナ"> &...