CARVIEW |
このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。
CanvasRenderingContext2D: arc() メソッド
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2015年7月.
CanvasRenderingContext2D.arc()
はキャンバス 2D API のメソッドで、サブパスに弧を加えます。
構文
arc(x, y, radius, startAngle, endAngle)
arc(x, y, radius, startAngle, endAngle, counterclockwise)
arc()
メソッドは (x, y) を中心とし、 radius
を半径とした弧を作成します。角度は startAngle
から endAngle
まで、 counterclockwise
で指定された向き(既定では時計回り)に描かれます。
引数
x
-
弧の中心の水平座標です。
y
-
弧の中心の垂直座標です。
radius
-
弧の半径です。正の数である必要があります。
startAngle
-
弧の始まりの角度を、 X 軸の正の方向から時計回りに定められるラジアン角で表します。
endAngle
-
弧の終わりの角度を、 X 軸の正の方向から時計回りに定められるラジアン角で表します。
counterclockwise
省略可-
省略可能な論理値です。
true
の場合、弧を反時計回りに始まりから終わりの角度に向けて描きます。既定値はfalse
(時計回り)です。
返値
なし (undefined
)。
例
>の描画" class="heading">の描画">完全なの描画
このコードは、 arc()
メソッドで完全なを描く方法を示します。
HTML
<canvas></canvas>
JavaScript
弧の X 座標は 100、 Y 座標は 75、半径は 50 です。弧を一周させるには、 0 ラジアン(0**°)の角度で始まり、 2π ラジアン(360°**)の角度で終わります。
const canvas = document.querySelector("canvas");
const ctx = canvas.getContext("2d");
ctx.beginPath();
ctx.arc(100, 75, 50, 0, 2 * Math.PI);
ctx.stroke();
結果
様々な形状のデモ
以下の例は様々な形を描くことで、 arc()
メソッドは何ができるのかを示します。
<canvas width="150" height="200"></canvas>
const canvas = document.querySelector("canvas");
const ctx = canvas.getContext("2d");
// Draw shapes
for (let i = 0; i <= 3; i++) {
for (let j = 0; j <= 2; j++) {
ctx.beginPath();
let x = 25 + j * 50; // x 座標
let y = 25 + i * 50; // y 座標
let radius = 20; // 弧の半径
let startAngle = 0; // 弧の開始位置
let endAngle = Math.PI + (Math.PI * j) / 2; // 弧の終了位置
let counterclockwise = i % 2 === 1; // 弧を描く方向
ctx.arc(x, y, radius, startAngle, endAngle, counterclockwise);
if (i > 1) {
ctx.fill();
} else {
ctx.stroke();
}
}
}
結果
仕様書
Specification |
---|
HTML> # dom-context-2d-arc-dev> |
ブラウザーの互換性
Loading…
関連情報
- このメソッドを定義しているインターフェイス:
CanvasRenderingContext2D
- 楕弧を描くには
CanvasRenderingContext2D.ellipse()
を使用してください。