웹 개발을 하다보면 이미지를 많이 쓰게 된다. 어떤 한 프로젝트에서 SVG와 PNG를 같이 쓰는 걸 보고 차이가 궁금해서 찾아보았다.
SVG (Scalable Vector Graphics) : 2차원 벡터 그래픽을 표현하기 위한 XML기반의 파일 형식이다. Vector로 되어있다.
PNG(Portable Network Graphics) : 비손실 그래픽 파일 포맷의 하나로 GIF의 문제점을 해결하기 위해 고안된 파일 형식이다. Bitmap으로 되어있다.
이 둘의 가장 큰 차이점은 확대할 때 SVG는 그대로 확대되지만 PNG는 aliasing 현상이 일어난다. 즉, 이미지가 깨진다.
위와 같이 이미지의 확대에서 차이가 있다. 또한 SVG가 PNG보다 용량도 적으며 출력도 빠르다.
그런데 왜 PNG를 쓰고있었느냐는 질문이 자연스레 나올텐데 SVG는 IE8 이하에서는 지원되지 않기 때문이다.
그럼 IE8이하를 신경쓰지 않는다면, SVG를 써도되느냐는 질문이 나올텐데, 꼭 그렇지만은 않다.
SVG는 수학적 계산능력을 요구한다. 단순한 이미지야 신경안써도 되지만, 복잡해지고 크기가 커질수록 속도 저하가 발생된다. 그래서 SVG는 로고와 같은 단순화된 이미지에서 많이 활용된다.
그러므로 단순한 이미지가 많을 경우 한국인의 정서에 맞게 용량이 적고 출력 속도가 빠른 SVG를 UI 디자이너들이 많이 사용하는 것이다.
'Web' 카테고리의 다른 글
[Web] ".do" 확장자 왜 쓰는 걸까? (1) | 2021.07.06 |
---|---|
[JSP] a태그의 href="#"에 관하여 (0) | 2021.06.25 |
[Spring] Controller로 요청이 두 번 오는 오류 (0) | 2021.06.10 |
[Spring] 서버의 물리적 경로 가져오기(TO 업로드) (0) | 2021.04.16 |
[JSP] 수정한 canvas를 file 타입의 input태그에 넣기 (0) | 2021.03.30 |
댓글