캔바스의 더 재밌는 기능중에 하나는 바로 이미지를 바로 가져다 쓴다는점입니다. 거의 모든 이미지들을 지원하는 덕분에 이미지의 큰 제약없이 사용할수가 있습니다.
이미지를 불러오기위해서는 두가지절차가 필요합니다.
1. 이미지 객체를 생성하기.
2. 생성된 이미지 객체에 이미지를 넣기.
이미지를 가져오는 방법에는 기본적으로 네가지정도를 쓰고 있는데요.
같은 페이지에있는 이미지를 가져올때.
-document.images 메소드나 document.getElementsByTagName , document.getElementById 메소드 들을 이용하여 가져오는 방법.
다른 캔바스 요소를 가져올때
- 마찬가지로 document.getElementsByTagName , document.getElementById 메소드를 사용하여 다른 캔바스의 이미지를 가져올수 있습니다. 가져오기전에 캔바스에 어떤그림을 그려놓았는지 확인은 필수 :)
처음부터 만들기
- 스크립트를 이용하여 직접 이미지를 만드는방법이 되겠습니다. 이방법은 스크립트가 실행되는 시점에 이미지 파일이 로딩되기때문에 필요에따라서는 프리로딩이 필요할수도 있습니다.
이미지 객체를 기본 생성하려면 다음과 같이 하면 됩니다.
이렇게 될경우 이 스크립트가 실행되는 시점에서 이미지가 로딩이 일어나고, 이미지가 로딩이 완료되기 전에는 다음 스크립트가 실행되지 않습니다. 이점 참고하시기 바랍니다.
그래서 onload 이벤트 등에 미리 이미지를 프리로딩하는 방법을 쓰기도 합니다.
data: url 방식의 이미지 추가하기
또 다른 이미지 불러오는 방법으로 data:url 방식이 있습니다. 이놈은 링크자체에 base64 로 완전히 인코딩된 url 링크를 직접 사용할수 있습니다. 이 방법은 링크를 숨겨주는등의 몇가지 장점이 있으나 캐쉬되지않아 큰 이미지의경우 오히려 사이트 속도에 큰 영향을 줄수도 있습니다.
var img_src = 'https://t1.daumcdn.net/cfile/tistory/2660F84256E67F581A"font-family: Tahoma, 굴림; font-size: 9pt; color: rgb(34, 34, 34); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">위와같이 사용하게 됩니다.
이미지 그리기
그럼 실제로 이미지를 캔바스에 그려보도록 하겠습니다.
이미지를 캔바스에 그리는데는
drawImage(image, x, y)
이 함수가 필요합니다. 이미지 객체와 x,y 좌표가 필요하지요.
캔바스에 이미지를 그려준 뒤에는 그 이미지 위에 라인이나 path도형등을 그려줄수 있습니다.
예제를 보며 설명하도록 하겠습니다.
[출처]모질라 캔바스 튜토리얼
위의 함수는 기본적인 그래프를 그려주는 함수 인데요. X와 Y축라인을 이미지를 불러와 그려준뒤
path도형으로 그래프 라인을 그려주고 마무리한 예제 입니다.
'모바일 WEB 관련 > HTML5' 카테고리의 다른 글
[Canvas] canvas 예제. - 복합 도형. (0) | 2011.01.08 |
---|---|
[Canvas] canvas 10. path도형 그리기 - 사각형. (0) | 2011.01.08 |
[Canvas] canvas 9. path도형 그리기 - 2차곡선,베지어곡선 (0) | 2011.01.08 |
[Canvas] canvas 8. path도형 그리기 - 원,호 (0) | 2011.01.08 |
[Canvas] canvas 7. path도형 그리기 - 직선 (0) | 2011.01.08 |