English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
캔버스는 HTML5 스크립트(대개 자바스크립트)를 사용하여 그림을 그릴 수 있는 새로운 HTML 요소입니다. 이를 통해 사진집을 만들거나 간단한(그렇지 않아도 어려운) 애니메이션을 만들 수 있으며, 실시간 비디오 처리와 렌더링도 할 수 있습니다.
<canvas> 태그는 그래픽, 예를 들어 차트와 다른 이미지를 정의합니다. 그래픽을 그리기 위해 스크립트(대개 자바스크립트)를 사용해야 합니다.
캔버스에(캔버스) 빨간 사각형, 변화하는 사각형,彩色 사각형, 그리고 일부 색상의 글자를 그려야 합니다.
내장 SVG5 <canvas> 요소는 그래픽을 그리기 위해 사용되며, 스크립트(대부분 JavaScript)를 통해 완료됩니다.
<canvas> 태그는 단순한 그림 상자일 뿐, 그래픽을 그리기 위해 스크립트(대부분 JavaScript)를 사용해야 합니다.
canvas를 사용하여 경로, 상자, 원, 문자 및 이미지를 그릴 수 있는 여러 가지 방법이 있습니다.
표에서의 숫자는 <canvas> 요소를 지원하는 첫 번째 브라우저 버전 번호를 나타냅니다.
요소 | |||||
설명 | 4.0 | 9.0 | 2.0 | 3.1 | 9.0 |
캔버스는 웹 페이지에서 직사각형 상자로, <canvas> 요소를 통해 그립니다.
주의: 기본적으로 <canvas> 요소는 테두리와 내용이 없습니다.
<canvas> 간단한 예제:
<canvas id="myCanvas" width="200" height="100"></canvas>
주의: 태그는 일반적으로 id 속성을 지정해야 합니다 (스크립트에서 자주 참조됨), width와 height 속성은 캔버스의 크기를 정의합니다.
알림:HTML 페이지에서 여러 개의 <canvas> 요소를 사용할 수 있습니다.
style 속성을 사용하여 테두리를 추가합니다:
<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>기본 튜토리얼 웹(oldtoolbag.com)</title> body>/head> <body> <canvas id="myCanvas" width="200" height="100" style="border:1px solid #000000;"> body>/canvas> body>/script> body>/<html>/테스트해 보세요 ‹
canvas 요소 자체는 그리기 능력이 없습니다. 모든 그리기 작업은 JavaScript 내부에서 완료되어야 합니다:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>기본 강의(oldtoolbag.com)</title> body>/head> <body> <canvas id="myCanvas" width="200" height="10" style="border:1px solid #c3c3c3> 당신의 브라우저는 HTML을 지원하지 않습니다5 canvas 태그. body>/canvas> <script> var c = document.getElementById("myCanvas"); var ctx = c.getContext("2d); ctx.fillStyle="#FF0000"; ctx.fillRect(0,0,150,75, body>/} body>/script> body>/<html>/테스트해 보세요 ‹
예제 해석:
먼저, <canvas> 요소를 찾습니다:
var c=document.getElementById("myCanvas");
그런 다음, context 객체를 생성합니다:
var ctx=c.getContext("2d);
getContext("2d") 객체는 내장된 HTML5 객체는 다양한 그리기 경로, 직사각형, 원, 문자 및 이미지 추가 메서드를 가진 것입니다.
아래 두 줄 코드는 빨간색 직사각형을 그립니다:
ctx.fillStyle="#FF0000";
ctx.fillRect(0,0,150,75,
fillStyle 속성을 설정할 수 있는 것은 CSS 색상, 그레이딩, 또는 패턴입니다. fillStyle 기본 설정은 #000000(검은색)입니다.
fillRect(x,y,width,height) 메서드는 현재 직사각형의 채우기 방식을 정의합니다.
canvas는 두차원 그리드입니다.
canvas의 왼쪽 상단 좌표는 (0,0)입니다
上面的 fillRect 메서드는 매개변수 (0,0,150,75)
의미는: 캔버스에 그립니다 150x75 의 사각형, 왼쪽 상단에서 시작 (0,0)。
좌표 예제
아래 그림과 같이, 캔버스의 X와 Y 좌표는 캔버스에서 그리기를 정위치하는 데 사용됩니다. 마우스를 이동할 때, 정위치 좌표가 표시되는 사각형 상자가 나타납니다.
canvas에 선을 그리기 위해 다음 두 가지 메서드를 사용합니다:
moveTo(x,y)을 정의합니다 선의 시작 좌표
lineTo(x,y)를 정의합니다
선을 그리기 위해 "ink" 메서드를 사용해야 합니다. 예를 들어, stroke().
시작 좌표(0,0), 종료 좌표 (200,100)。그런 다음 stroke() 메서드를 사용하여 선을 그립니다:
JavaScript:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>기본 강의(oldtoolbag.com)</title> body>/head> <body> <canvas id="myCanvas" width="200" height="10" style="border:1px solid #d3d3d3> 당신의 브라우저는 HTML을 지원하지 않습니다5 canvas 태그.</canvas> <script> var c = document.getElementById("myCanvas"); var ctx = c.getContext("2d); ctx.moveTo(0,0); ctx.lineTo(200,100); ctx.stroke(); body>/} body>/script> body>/<html>/테스트해 보세요 ‹
canvas에서 원을 그리기 위해 다음 메서드를 사용합니다:
arc(x,y,r,start,stop)
실제로 원을 그리는 데 "ink" 메서드를 사용하고 있습니다. 예를 들어, stroke() 또는 fill().
arc() 메서드를 사용하여 원을 그립니다:
JavaScript:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>기본 강의(oldtoolbag.com)</title> body>/head> <body> <canvas id="myCanvas" width="200" height="10" style="border:1px solid #d3d3d3> 당신의 브라우저는 HTML을 지원하지 않습니다5 canvas 태그.</canvas> <script> var c = document.getElementById("myCanvas"); var ctx = c.getContext("2d); ctx.beginPath(); ctx.arc(95,50,40,0,2*Math.PI); ctx.stroke(); body>/} body>/script> body>/<html>/테스트해 보세요 ‹
canvas에서 텍스트를 그리는 데 중요한 속성과 메서드는 다음과 같습니다:
font - 글꼴 정의
fillText(text,x,y) - canvas에 실心的 텍스트를 그립니다
strokeText(text,x,y) - canvas에 투명한 텍스트를 그립니다
use "fillText()":
"Arial" 폰트로 캔버스에 높이 30px의 글자(실心的):
JavaScript:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>기본 강의(oldtoolbag.com)</title> body>/head> <body> <canvas id="myCanvas" width="200" height="10" style="border:1px solid #d3d3d3> 당신의 브라우저는 HTML을 지원하지 않습니다5 canvas 태그.</canvas> <script> var c = document.getElementById("myCanvas"); var ctx = c.getContext("2d); ctx.font="30px Arial"; ctx.fillText("Hello World",10,50); body>/} body>/script> body>/<html>/테스트해 보세요 ‹
use "strokeText()":
"Arial" 폰트로 캔버스에 높이 30px의 글자(투명한):
JavaScript:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>기본 강의(oldtoolbag.com)</title> body>/head> <body> <canvas id="myCanvas" width="200" height="10" style="border:1px solid #d3d3d3> 당신의 브라우저는 HTML을 지원하지 않습니다5 canvas 태그.</canvas> <script> var c = document.getElementById("myCanvas"); var ctx = c.getContext("2d); ctx.font="30px Arial"; ctx.strokeText("Hello World",10,50); body>/} body>/script> body>/<html>/테스트해 보세요 ‹
그레이더는 사각형, 원형, 선, 텍스트 등 다양한 형태에 채울 수 있으며, 각 형태는 다른 색상을 정의할 수 있습니다.
Canvas 그레이더를 설정하는 방법은 두 가지가 있습니다:
createLinearGradient(x,y,x1,y1) - 선형 그레이더를 생성합니다
createRadialGradient(x,y,r,x1,y1,r1) - 계산하다 createRadialGradient():/원형 그레이더
渐变객체를 사용할 때는 두 가지 또는 그 이상의 중지색을 사용해야 합니다.
addColorStop() 메서드를 사용하여 색상 정지를 지정하다. 매개변수는 좌표를 사용하여 설명할 수 있으며, 0에서1.
그레이드렌트를 사용하여, fillStyle 또는 strokeStyle의 값을 설정하다. 그레이드렌트를 사용하여, 다음으로 형태를 그려요, 직사각형, 텍스트, 또는 선.
계산하다 createLinearGradient():
직사각형을 그레이드렌트로 채우기:
JavaScript:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>기본 강의(oldtoolbag.com)</title> body>/head> <body> <canvas id="myCanvas" width="200" height="10" style="border:1px solid #d3d3d3> 당신의 브라우저는 HTML을 지원하지 않습니다5 canvas 태그.</canvas> <script> var c = document.getElementById("myCanvas"); var ctx = c.getContext("2d); // gradient을 생성하다 계산하다 createLinearGradient():2var grd = ctx.createLinearGradient(0,0, grd.addColorStop(0,"red"); grd.addColorStop(1,"white"); // gradient으로 채우기 ctx.fillStyle = grd; ctx.fillRect(10,10,150,80); body>/} body>/script> body>/<html>/테스트해 보세요 ‹
00,0);
계산하다 createRadialGradient():/원형 그레이드렌트. 직사각형을 그레이드렌트로 채우기:
JavaScript:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>기본 강의(oldtoolbag.com)</title> body>/head> <body> <canvas id="myCanvas" width="200" height="10" style="border:1px solid #d3d3d3> 당신의 브라우저는 HTML을 지원하지 않습니다5 canvas 태그.</canvas> <script> var c = document.getElementById("myCanvas"); var ctx = c.getContext("2d); // gradient을 생성하다 var grd = ctx.createRadialGradient(75,50,5,90,60,100); grd.addColorStop(0,"red"); grd.addColorStop(1,"white"); // gradient으로 채우기 ctx.fillStyle = grd; ctx.fillRect(10,10,150,80); body>/} body>/script> body>/<html>/테스트해 보세요 ‹
그림을 캔버스에 배치하려면 다음 메서드를 사용하세요:
drawImage(image, x, y)
그림을 캔버스에 배치하려면:
JavaScript:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>기본 강의(oldtoolbag.com)</title> body>/head> <body> <p>사용할 이미지:</p> <img id="scream" src="img_the_scream.jpg" alt="The Scream" width="220" height="277><p>Canvas:</p> <canvas id="myCanvas" width="250" height="3" style="border:1px solid #d3d3d3> 당신의 브라우저는 HTML을 지원하지 않습니다5 canvas 태그.</canvas> <script> var c = document.getElementById("myCanvas"); var ctx = c.getContext("2d); var img = document.getElementById("scream"); img.onload = function() { ctx.drawImage(img,10,10, ); body>/} body>/script> body>/<html>/테스트해 보세요 ‹
HTML Canvas 참조 설명서태그의 모든 속성은 다음을 참조하세요
HTML <canvas> 태그 | 태그 |
설명 | 내장 SVG5 <canvas> |