0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【入門者向け】Canvas入門講座#2 線分を描こう【JavaScript】

Last updated at Posted at 2020-11-10

#問題2
点(100,100)と点(300,200)を結ぶ線分を描画しなさい。
なお、以下のHTMLを使うこと。

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>問題2</title>
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
<script>
$(() => {
    // ここにプログラムを書く
});
</script>
</head>
<body>
<canvas id="my-canvas" width="500" height="300"></canvas>
</body>
</html>

#答え

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>問題2</title>
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
<script>
$(() => {
	// コンテキストを取得
    const ctx = $('#my-canvas')[0].getContext('2d');

    ctx.beginPath();		// 現在のパスをリセットする
	ctx.moveTo(100, 100);	// パスの開始座標を指定する
	ctx.lineTo(300, 200);	// 座標を指定してラインを引く
	ctx.stroke();			// 現在のパスを輪郭を描画する
});
</script>
</head>
<body>
<canvas id="my-canvas" width="500" height="300"></canvas>
</body>
</html>

こんな感じで描画できます。
ダウンロード (2).png

#解説
コンテキストを取得します。これは問題1と同じです。

const ctx = $('#my-canvas')[0].getContext('2d');

線分の描画の仕方ですが、パスを作成した後、strokeメソッドで描画します。

パスを作成して、描画という流れは線を書いたり塗りつぶしたりする時の共通処理ですので、頭に入れておいてください。

ctx.beginPath();		// 現在のパスをリセットする
ctx.moveTo(100, 100);	// パスの開始座標を指定する
ctx.lineTo(300, 200);	// 座標を指定してラインを引く
ctx.stroke();			// 現在のパスを輪郭を描画する
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?