SVG
svg 요소
svg 요소는 Scalable Vector Graphics를 의미하며, XML 기반의 W3C 그래픽 표준 권고안이다.
기존에 사용해 왔던 canvas 요소로는 벡터(vector) 이미지를 표현할 수 없었다.
하지만 svg 요소는 픽셀 기반인 웹 페이지에서 픽셀의 영향을 받지 않는 벡터 이미지를 표현할 수 있게 해준다.
따라서 이 요소는 도표나 그래프 등 벡터 기반의 다이어그램(diagram)를 표현하는 데 매우 효과적이다.
svg요소를 지원하는 주요 웹 브라우저의 버전은 다음과 같다.
요소 |
|
|
|
|
|
svg |
9.0 |
4.0 |
3.0 |
3.2 |
10.1 |
사각형 그리기
다음 예제는 rect 요소를 사용하여 사각형을 그리는 예제이다.
예제
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <title>HTML5 Multimedia SVG</title> </head> <body> <h1>svg 요소를 이용한 사각형 그리기</h1> <svg width="200" height="150"> <rect width="200" height="150" stroke="orange" stroke-width="5" fill="yellow"/> 이 문장은 사용자의 웹 브라우저가 svg 요소를 지원하지 않을 때 나타납니다! </svg> </body> </html> | cs |
실행결과 :
사각형을 그리는데 사용하는 rect 요소의 속성은 다음과 같다.
속성 |
설명 |
width |
도형의 너비를 설정함. |
height | 도형의 높이를 설정함. |
stroke | 도형의 테두리 색상을 설정함. |
stroke-width | 도형의 테두리 굵기를 설정함. |
fill | 도형을 채울 색상을 설정함. |
opacity | 도형의 투명도를 설정함. |
위와 같이 각각의 속성을 사용하여 설정할 수도 있으며, 다음 예제와 같이 style 속성을 사용하여 한 번에 설정할 수도 있다.
예제
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <title>HTML5 Multimedia SVG</title> </head> <body> <h1>svg 요소를 이용한 사각형 그리기</h1> <svg width="200" height="150"> <rect width="200" height="150" style="stroke:orange; stroke-width:5; fill:yellow; opacity:1;"/> 이 문장은 사용자의 웹 브라우저가 svg 요소를 지원하지 않을 때 나타납니다! </svg> </body> </html> | cs |
rect 요소에 x, y, rx, ry 속성을 추가하여 모서리가 둥근 사각형을 그릴 수 있다.
예제
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <title>HTML5 Multimedia SVG</title> </head> <body> <h1>svg 요소를 이용한 모서리가 둥근 사각형 그리기</h1> <svg width="250" height="200"> <rect width="200" height="150" x="20" y="20" rx="20" ry="20" stroke="orange" stroke-width="5" fill="yellow"/> 이 문장은 사용자의 웹 브라우저가 svg 요소를 지원하지 않을 때 나타납니다! </svg> </body> </html> | cs |
실행결과 :
모서리가 둥근 사각형을 그리는데 사용하는 rect 요소의 속성은 다음과 같다.
속성 | 설명 |
x | 사각형의 왼쪽 위 꼭지점의 x좌표를 설정함. |
y | 사각형의 왼쪽 위 꼭지점의 y좌표를 설정함. |
rx | 사각형 모서리 굴곡의 x축 반지름을 설정함. |
ry | 사각형 모서리 굴곡의 y축 반지름을 설정함. |
선 그리기
다음 예제는 line 요소를 사용하여 선을 그리는 예제이다.
예제
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <title>HTML5 Multimedia SVG</title> </head> <body> <h1>svg 요소를 이용한 선 그리기</h1> <svg width="250" height="200"> <line x1="50" y1="50" x2="200" y2="150" stroke="orange" stroke-width="5"/> 이 문장은 사용자의 웹 브라우저가 svg 요소를 지원하지 않을 때 나타납니다! </svg> </body> </html> | cs |
실행결과 :
선을 그리는데 사용하는 line 요소의 속성은 다음과 같다.
속성 | 설명 |
x1 | 선이 시작될 위치의 x좌표를 설정함. |
y1 | 선이 시작될 위치의 y좌표를 설정함. |
x2 | 선이 끝나는 위치의 x좌표를 설정함. |
y2 | 선이 끝나는 위치의 y좌표를 설정함. |
원 그리기
예제
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <title>HTML5 Multimedia SVG</title> </head> <body> <h1>svg 요소를 이용한 원 그리기</h1> <svg width="300" height="300"> <circle cx="150" cy="120" r="100" stroke="orange" stroke-width="5" fill="yellow"/> 이 문장은 사용자의 웹 브라우저가 svg 요소를 지원하지 않을 때 나타납니다! </svg> </body> </html> | cs |
실행결과 :
원을 그리는데 사용하는 circle 요소의 속성은 다음과 같다.
속성 | 설명 |
cx | 원의 중심 x좌표를 설정함. |
cy | 원의 중심 y좌표를 설정함. |
r | 원의 반지름을 설정함. |
타원 그리기
다음 예제는 ellipse 요소를 사용하여 타원을 그리는 예제이다.
예제
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <title>HTML5 Multimedia SVG</title> </head> <body> <h1>svg 요소를 이용한 타원 그리기</h1> <svg width="300" height="300"> <ellipse cx="150" cy="100" rx="120" ry="70" stroke="orange" stroke-width="5" fill="yellow"/> 이 문장은 사용자의 웹 브라우저가 svg 요소를 지원하지 않을 때 나타납니다! </svg> </body> </html> | cs |
실행결과 :
타원을 그리는데 사용하는 ellipse 요소의 속성은 다음과 같다.
속성 | 설명 |
cx | 타원 중심의 x좌표를 설정함. |
cy | 타원 중심의 y좌표를 설정함. |
rx | 타원의 x축 반지름을 설정함. |
ry | 타원의 y축 반지름을 설정함. |
다각형 그리기
다음 예제는 polygon 요소를 사용하여 별모양의 다각형을 그리는 예제이다.
예제
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <title>HTML5 Multimedia SVG</title> </head> <body> <h1>svg 요소를 이용한 다각형 그리기</h1> <svg width="300" height="300"> <polygon points="10,100 190,100 30,200 100,40 170,200" stroke="orange" stroke-width="5" fill="yellow"/> 이 문장은 사용자의 웹 브라우저가 svg 요소를 지원하지 않을 때 나타납니다! </svg> </body> </html> | cs |
실행결과 :
다각형을 그리는데 사용하는 polygon 요소의 속성은 다음과 같다.
속성 | 설명 |
points | 다각형의 각 꼭지점이 표시될 위치의 좌표를 설정함. |
points 속성은 다각형을 이루는 각 꼭지점의 x좌표와 y좌표를 명시한다.
이때 첫 번째 꼭지점부터 시작하여 마지막 꼭지점까지 차례대로 선으로 연결되어 다각형을 표현하게 된다.
Geolocation (0) | 2018.10.11 |
---|---|
Canvas vs SVG (0) | 2018.10.11 |
Canvas (0) | 2018.10.10 |
플러그인 (0) | 2018.10.10 |
멀티미디어 파일 형식/비디오 (video)/오디오(audio) (0) | 2018.10.10 |