June 07, 2020
// canvas ์ฐธ์กฐ
const canvas = document.getElementById('canvas')
// CanvasRenderingContext2D ๋ฐํ
// 2์ฐจ์ ๋ ๋๋ง ์ปจํ
์คํธ ๊ฐ์ฒด
const ctx = canvas.getContext('2d')
// WebGLRenderingContext ๋ฐํ
// 3์ฐจ์ ๋ ๋๋ง ์ปจํ
์คํธ ๊ฐ์ฒด(v1)
const ctx = canvas.getContext('webgl')
// WebGL2RenderingContext ๋ฐํ
// 3์ฐจ์ ๋ ๋๋ง ์ปจํ
์คํธ ๊ฐ์ฒด(v2)
const ctx = canvas.getContext('webgl2')
// ์บ๋ฒ์ค ImageData ๊ฐ์ฒด ๋ฐํ
const myImageData = ctx.getImageData(left, top, width, height)
ImageData = {
width,
height,
data,
//int8ClampedArray์ฌ์ด์ ์ ์ ๊ฐ์ผ๋ก RGBA ์์๋ก ๋ฐ์ดํฐ๋ฅผ ํฌํจํ๋ 1 ์ฐจ์ ๋ฐฐ์ด์ ํํ 0ํ๊ณ 255(ํฌํจ).
}
// ImageData๊ฐ์ฒด์ ๋ฐ์ดํฐ๋ฅผ ์บ๋ฒ์ค์ ํ์ธํธ
ctx.putImageData(imageData, 0, 0)
// ์บ๋ฒ์ค๋ฅผ ํฌ๋ช
๊ฒ์ (rgba(0,0,0,0))์ผ๋ก ์ค์
ctx.clearRect(0, 0, x, y)
// ํ์ฌ ์ํ๋ฅผ ์คํ์ผ๋ก push
ctx.save()
// ์ ์ฅํด๋์๋ ์ํ pop
ctx.restore()
// ๊ฒฝ๋ก ๋ชฉ๋ก์ ๋น์์ ์ ๊ฒฝ๋ก๋ฅผ ์์
ctx.beginPath()
// ๊ฒฝ๋ก ์ด๋
ctx.moveTo(x, y)
// ํ์ฌ ๊ฒฝ๋ก๋ฅผ ์๋ ์ง์ ์์ฑ
ctx.lineTo(x, y)
// ํธ ์์ฑ
ctx.arc(x, y, radius, startAngle, endAngle, false) // ์๊ณ
ctx.arc(x, y, radius, startAngle, endAngle, true) // ๋ฐ์๊ณ
// ํ์ฌ ๊ฒฝ๋ก๋ฅผ ์๋ ์ง์ ์์ฑ
ctx.lineTo(x, y)