- From: Min Tae Kim <ibare77@gmail.com>
- Date: Wed, 17 Nov 2010 10:37:54 +0900
- To: public-html-ig-ko@w3.org
- Message-Id: <26470FAA-A33F-4695-9DCB-E0B8EAC31713@gmail.com>
안녕하세요. 이미지클릭 김민태입니다. Canvas로 개발을 하다가 문득 의문이 생겨서 이렇게 질문드려봅니다. [질문] Canvas 태그는 width 또는 height 가 설정되면 (값의 변경 유무와 상관없이) canvas 자체가 리셋됩니다. 즉 그려진 이미지가 모두 지워지고 각종 style도 리셋됩니다. 명시적인 API 로 reset 을 구현하지 않고 이렇게 하는 이유는 무엇일까요? [배경] HTML5에서 새로 추가된 태그인 Canvas 는 많은 API 를 함께 제공하고 있습니다. 2D 작업을 하기위해서 나름 충분한 API 를 제공하고 있는데요 유독 이해하기 힘든 형태를 하나 발견했습니다. Canvas 자체의 width 또는 height 가 설정되면 Canvas가 Reset 되는 방식이 그것입니다. 여기서 핵심은 실제로 Canvas 의 width나 height 가 변하지 않아도 단지 같은 크기로 설정만 된다해도 Reset 되는 방식이라는 것이죠. Canvas.reset() 같은 API 를 제공해주면 더 명시적이고 좋을 것 같은데 개발 코드도 좀 쌩뚱맞아지고 별로 훌륭한 컨셉인 것 같지는 않아서 말이죠. 혹시 왜 이런 메커니즘을 채택 했는지 아시는 분이 있으시면 좋겠습니다. 그리고 무엇보다 단지 방식의 문제가 아닌 canvas 의 사이즈가 변하면 reset 이 되기 때문에 만약 고정크기 Canvas를 사용하지 않는다면 브러우저의 크기가 변하면 항상 현재 상태의 Canvas 를 유지하기 위해서 다시그려야하는 부담감이 있습니다. 그려야하는 이미지가 복잡할 경우 이는 더욱 큰 부담이 될 것 같습니다. 만약 이렇게 reset 되지 않는다면 리사이즈로 인해서 빈 공간만 다시 그리면 될텐데 현재의 canvas 구조상 resize 이벤트에 전체를 다시 그리려야합니다. 우선 저는 이 질문으로 시작해봅니다.^^ 김민태 드림. ps : 메일 형식은 SK Telecom 김도완님의 양식을 활용해봤습니다. ^^ # Kim Min Tae -------------------------------------- Imageclick co.,Ltd http:// www.imageclick.com ibare77@gmail.com http://www.ibare.kr http://twitter/ibare Mobile: 010.8555.3198
Received on Wednesday, 17 November 2010 01:38:30 UTC