아이콘이나 로고를 받으면 SVG로 오는 경우가 많습니다. 웹에서는 SVG가 오히려 편하지만, WinForms 버튼 이미지나 엑셀 VBA 사용자 폼, 오래된 리포트 도구처럼 SVG를 못 읽는 곳에 넣으려면 결국 PNG로 바꿔야 합니다. 그럴 때마다 그래픽 프로그램을 여는 게 번거로워서, 저는 한두 장이면 그냥 온라인 변환기를 씁니다.
Convertio로 변환하기
자주 쓰는 곳은 Convertio의 SVG → PNG 변환 페이지입니다.
사용법은 단순합니다. 페이지에 SVG 파일을 끌어다 놓거나 파일 선택으로 올리고, 출력 형식이 PNG로 되어 있는지 확인한 다음 변환 버튼을 누르면 됩니다. 몇 초면 끝나고, 결과 파일을 내려받으면 됩니다. 프로그램을 깔 필요가 없고 무료로 쓸 수 있어서, 회사 PC처럼 설치 권한이 없는 환경에서 특히 쓸모가 있습니다. 여러 파일을 한 번에 올려서 변환하는 것도 됩니다.
변환하고 나서 자주 걸리는 부분
첫째는 크기입니다. SVG는 벡터라서 크기 개념이 느슨한데, PNG는 픽셀로 고정됩니다. SVG 안에 width·height가 작게 잡혀 있으면 변환 결과도 작게 나와서, 그걸 다시 키우면 뿌옇게 됩니다. 쓸 곳의 크기를 먼저 정하고, 그보다 크거나 같은 크기로 뽑는 게 안전합니다. 작게 줄이는 건 화질 손실이 거의 없지만 키우는 건 답이 없습니다.
둘째는 폰트입니다. SVG에 텍스트가 글꼴 이름으로만 들어 있으면, 변환하는 쪽에 그 글꼴이 없을 때 다른 글꼴로 대체됩니다. 한글 로고에서 이런 일이 잘 생깁니다. 디자이너에게 받을 때 텍스트를 윤곽선(패스)으로 바꾼 SVG를 달라고 하면 이 문제가 사라집니다.
셋째는 배경입니다. 투명 배경이 필요한 아이콘인데 흰 배경이 깔려 나오는지 확인해 보세요. PNG 자체는 투명도를 지원하므로, 원본 SVG에 배경 사각형이 들어 있는 게 아니라면 보통 투명하게 나옵니다.
온라인 업로드가 곤란할 때
회사 로고나 내부 문서용 도면처럼 외부 서버에 올리기 애매한 파일은 로컬에서 바꾸는 편이 낫습니다. 무료 벡터 편집기인 Inkscape를 깔아 두면 명령줄로도 변환할 수 있어서, 여러 장을 일괄 처리할 때도 쓸 만합니다.
inkscape input.svg --export-type=png --export-filename=output.png -w 512
-w로 가로 픽셀을 지정하면 세로는 비율에 맞춰 정해집니다. 이 명령을 배치 파일로 묶어 두면 아이콘 수십 개도 금방 뽑을 수 있습니다. 급하게 한 장만 필요하다면 SVG를 크롬에서 열고 화면 캡처하는 방법도 있지만, 투명 배경이 사라지고 해상도도 화면 배율에 묶이기 때문에 임시방편으로만 생각하는 게 좋습니다.