HTML 그래픽 - SVG (Scalable Vector Graphics)
본문 바로가기

HTML 그래픽 - SVG (Scalable Vector Graphics)

액트 2020. 2. 11.

SVG

 

svg 요소는 Scalable Vector Graphics를 의미하며, XML 기반의 W3C 그래픽 표준 권고안입니다.

기존에 사용해 왔던 canvas 요소로는 벡터(vector) 이미지를 표현할 수 없었습니다.

하지만 svg 요소는 픽셀 기반인 웹 페이지에서 픽셀의 영향을 받지 않는 벡터 이미지를 표현할 수 있게 해줍니다.

따라서 이 요소는 도표나 그래프 등 벡터 기반의 다이어그램(diagram)를 표현하는 데 매우 효과적입니다.

 

사각형 그리기

다음 예제는 rect 요소를 사용하여 사각형을 그리는 예제입니다.

<svg width="200" height="150">
    <rect width="200" height="150" stroke="orange" stroke-width="5" fill="yellow"/>
    이 문장은 사용자의 웹 브라우저가 svg 요소를 지원하지 않을 때 나타납니다!
</svg>

사각형을 그리는데 사용하는 rect 요소의 속성은 다음과 같습니다.

속성 설명
width 도형의 너비를 설정함
height 도형의 높이를 설정함
stroke 도형의 테두리 색상을 설정함
stroke-width 도형의 테두리 굵기를 설정함
fill 도형을 채울 색상을 설정함
opacity 도형의 투명도를 설정함

 

<!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>

HTML5 SVG요소를 이용한 사격형 그리기

 

rect 요소에 x, y, rx, ry 속성을 추가하여 모서리가 둥근 사각형을 그릴 수 있습니다.

속성 설명
x 사각형의 왼쪽 위 꼭짓점의 x좌표를 설정함.
y 사각형의 왼쪽 위 꼭짓점의 y좌표를 설정함.
rx 사각형 모서리 굴곡의 x축 반지름을 설정함.
ry 사각형 모서리 굴곡의 y축 반지름을 설정함.
<!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>

HTML5 SVG 요소를 이용한 모서리가 둥근 사각형 그리기

 

선 그리기

다음 예제는 line 요소를 사용하여 선을 그리는 예제입니다.

<svg width="250" height="200">

    <line x1="50" y1="50" x2="200" y2="150" stroke="orange" stroke-width="5"/>

</svg>

선을 그리는데 사용하는 line 요소의 속성은 다음과 같습니다.

속성 설명
x1 선이 시작될 위치의 x좌표를 설정함.
y1 선이 시작될 위치의 y좌표를 설정함.
x2 선이 끝나는 위치의 x좌표를 설정함.
y2 선이 끝나는 위치의 y좌표를 설정함.
<!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>

HTML5 SVG 요소를 이용한 선 그리기

 

원 그리기

다음 예제는 circle 요소를 사용하여 원을 그리는 예제입니다.

<svg width="300" height="300">

    <circle cx="150" cy="120" r="100" stroke="orange" stroke-width="5" fill="yellow"/>

</svg>

원을 그리는데 사용하는 circle 요소의 속성은 다음과 같습니다.

속성 설명
cx 원의 중심 x좌표를 설정함.
cy 원의 중심 y좌표를 설정함.
r 원의 반지름을 설정함.
<!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>

HTML5 SVG 요소를 이용한 원 그리기

 

타원 그리기

다음 예제는 ellipse 요소를 사용하여 타원을 그리는 예제입니다.

<svg width="300" height="300">

    <ellipse cx="150" cy="100" rx="120" ry="70" stroke="orange" stroke-width="5" fill="yellow"/>

</svg>

타원을 그리는데 사용하는 ellipse 요소의 속성은 다음과 같습니다.

속성 설명
cx 타원 중심의 x좌표를 설정함.
cy 타원 중심의 y좌표를 설정함.
rx 타원의 x축 반지름을 설정함.
ry 타원의 y축 반지름을 설정함.
<!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>

HTML5 SVC 요소를 이용한 타원 그리기

 

다각형 그리기

다음 예제는 polygon 요소를 사용하여 별모양의 다각형을 그리는 예제입니다.

<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>

다각형을 그리는데 사용하는 polygon 요소의 속성은 다음과 같습니다.

속성 설명
points 다각형의 각 꼭짓점이 표시될 위치의 좌표를 설정함.

points 속성은 다각형을 이루는 각 꼭짓점의 x좌표와 y좌표를 명시합니다.

이때 첫 번째 꼭짓점부터 시작하여 마지막 꼭짓점까지 차례대로 선으로 연결되어 다각형을 표현하게 됩니다.

<!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>

HTML5 svg 요소를 이용한 다각형 그리기

 

[출처] TCPSCHOOL.com

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

CSS 기초  (0) 2020.02.12
HTML 그래픽 - Canvas VS SVG  (0) 2020.02.11
HTML 그래픽 - Canvas  (0) 2020.02.04
HTML 멀티미디어  (0) 2020.02.04
HTML5 에서 추가된 input 요소의 타입 및 속성  (0) 2020.02.04

댓글