본문 바로가기

Web/Html5

html5 canvas 저장소 용량

html 5에서 새로 지원하는 <canvas> 태그에 대해서 알아 보자.
이 태그는 canvas를 생성하고 그 위에 그림을 그릴 수 있도록 지원한다.
쉽게 말하면 그림판 태그라고 생각해 버리자. 
그림판을 선언하고 그 그림판에 대해서 원하는 그림을 넣거나 선, 곡선, 사각형 등을 그릴 수 있다. 

canvas는 이미지 같은 것이 아니다. 실제 브라우저에 의해서 client 스크립트로 그려진 것이다. java script의 함수로 그릴 수 있기 때문에 애니매이션이 가능하다.

먼저 이해하기 쉽게 예를 들어 보자 
(지금 부터 보이는 예는 보고있는 브라우져가 예전 것이라면 정상적으로 작동하지 않을 수 있다. html5는 현재도 진행되고 있는 web표준이며 실제 구현되지 않은 기능들도 많이 있다. ie보다는 구글 chrome 최신 버전을 깐다면 확실히 실행 될 것이다.) 


아래 링크에서 run code라는 버튼을 클릭해 보면 블럭 깨기 게임이 실행 된다. 
flash게임이 아니라 java script로 <canvas> 위에 구현된 것이다. 
http://billmill.org/static/canvastutorial/index.html

최근 html5에 대해서 알아보기 위해 아래 책을 읽었고 책이 괜찮다. 
이 책에 나오는 대부분의 내용을 web에서 발견했다. 
HTML5활용
카테고리 컴퓨터/IT > 프로그래밍/언어 > 웹프로그래밍 > HTML+JAVASCRIPT
지은이 마크 필그림 (에이콘출판, 2011년)
상세보기

바로 아래 링크인데 위 책의 실제 저자인 마크 필그림(Mark Pilgrim)이 만든 페이지다. 내용도 똑같다. 영어가 힘들지 않다면 가서 보자
http://diveintohtml5.org/

그 중에 canvas에 대해서 이야기하고 있으니 
Let’s Call It a Draw(ing Surface) 
부분을 읽어보면 canvas가 어떻게 쓰이는지 쉽게 알 수 있을 것이다. 

아래는 그냥 간단히 그려본 그림이다. 저장소의 상황을 나타내 본 것이다. 
서버측에서 data로 그려준다면 모든 저장소가 현재 얼마나 사용되고 있는지 알 수 있을 것이다.

Your browser does not support the canvas element.


<!DOCTYPE HTML>
<html>
<body>

<canvas id="myCanvas" width="100" height="200" style="border:1px solid #c3c3c3;">
Your browser does not support the canvas element.
</canvas>

<script type="text/javascript">

var c=document.getElementById("myCanvas");
var cxt=c.getContext("2d");

cxt.fillStyle="#FF6666";
cxt.fillRect(0,150,100,200);
cxt.fillStyle="#33FF33";
cxt.font = "20pt Arial";
cxt.fillText("jrs1331", 5, 90);

</script>

</body>
</html>

위에서 보는 것과 같이 <canvas> 태그 내의 문장은 html5의 <canvas>를 지원하지 않는 브라우저에서 보여질 text이다. 

자바 스크립트 내에서 canvas의 context를 얻어서 

var c=document.getElementById("myCanvas");
var cxt=c.getContext("2d"); 

아래와 같이 그림을 그린다. 

cxt.fillStyle="#FF6666"; (붉은 색 지정) 
cxt.fillRect(0,150,100,200); (canvas아래에 붉은 색으로 사각형을 그린다.) 
cxt.fillStyle="#33FF33"; (녹색 지정) 
cxt.font = "20pt Arial"; (글씨 font 지정) 
cxt.fillText("jrs1331", 5, 90); (text를 쓴다.)

그럼 저렇게 된다. 지금 어딜 나가봐야되서 이만 쓴다. 
 

'Web > Html5' 카테고리의 다른 글

Html 5에 대해서  (0) 2011.04.22