SVG to PNG ๋ณํ ๋ฐฉ๋ฒ
์ด ๋๊ตฌ๋ ๋ธ๋ผ์ฐ์ ์ Canvas API๋ฅผ ์ฌ์ฉํด SVG ํ์ผ์ PNG ์ด๋ฏธ์ง๋ก ๋ณํํฉ๋๋ค. ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์๋ฒ ์์ด ์์ ๋ธ๋ผ์ฐ์ ๊ธฐ๋ฅ๋ง ์ฌ์ฉํ๋ฏ๋ก ๋น ๋ฅด๊ณ ์์ ํฉ๋๋ค. SVG ํ์ผ์ ์ ํํ๋ฉด ๋ฏธ๋ฆฌ๋ณด๊ธฐ์ ์๋ณธ ํฌ๊ธฐ๊ฐ ํ์๋๊ณ , ๋ฐฐ์จ์ ์ ํํ๋ฉด ์ถ๋ ฅ ํฌ๊ธฐ๊ฐ ๋ฏธ๋ฆฌ ๋ณด์ ๋๋ค. SVG ์์ฒด ๋ฐฐ๊ฒฝ์ด ์์ผ๋ฉด ๋ณํ๋ PNG๋ ํฌ๋ช ๋ฐฐ๊ฒฝ์ผ๋ก ์ถ๋ ฅ๋ฉ๋๋ค.
SVG๋ ๋ฒกํฐ ํ์์ด๋ผ ๋ฐฐ์จ์ ์๋ฌด๋ฆฌ ๋์ฌ๋ ํ์ง์ด ๋จ์ด์ง์ง ์์ต๋๋ค. ์น ์์ด์ฝ์ 1~2๋ฐฐ, ์ธ์๋ฌผ์ 3~4๋ฐฐ, ๋ํ ํฌ์คํฐ๋ ๋ฐฐ๋๋ 6~8๋ฐฐ๋ฅผ ๊ถ์ฅํฉ๋๋ค. ๋ค๋ง ๋ฐฐ์จ์ด ๋๋ฌด ๋์ผ๋ฉด ์บ๋ฒ์ค ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ง์ด ์ฌ์ฉํด ๋ธ๋ผ์ฐ์ ๊ฐ ๋๋ ค์ง ์ ์์ผ๋ ํ์ํ ํฌ๊ธฐ๋งํผ๋ง ์ ํํ์ธ์.
์ธ๋ถ ํฐํธ, ์ธ๋ถ URL ์ด๋ฏธ์ง, ์คํฌ๋ฆฝํธ ๋ฑ์ด ํฌํจ๋ ๋ณต์กํ SVG๋ ๋ธ๋ผ์ฐ์ ๋ณด์ ์ ์ฑ (CORS)์ผ๋ก ์ธํด ํด๋น ์์๊ฐ ๋๋ฝ๋ ์ ์์ต๋๋ค. ๊ฐ์ฅ ์์ ์ ์ธ ๊ฒฐ๊ณผ๋ฅผ ์ํด์๋ Base64 ์ธ์ฝ๋ฉ ์ด๋ฏธ์ง์ ์ธ๋ผ์ธ ์คํ์ผ๋ก ์์ฑ๋ ์๊ธฐ์๊ฒฐํ SVG๋ฅผ ์ฌ์ฉํ์ธ์.
์์ฃผ ๋ฌป๋ ์ง๋ฌธ
SVG์ width/height ์์ฑ์ด ์์ผ๋ฉด ๋ธ๋ผ์ฐ์ ๊ฐ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ์ฒ๋ฆฌํฉ๋๋ค. ์ด ๊ฒฝ์ฐ ์ถ๋ ฅ ํฌ๊ธฐ๊ฐ ์๋์ ๋ค๋ฅผ ์ ์์ต๋๋ค. SVG ํ์ผ์ viewBox์ ํจ๊ป ๋ช ์์ ์ธ width/height๋ฅผ ์ถ๊ฐํด ๋๋ฉด ๋ ์ ํํ๊ฒ ๋ณํ๋ฉ๋๋ค.
๋ค. SVG์ ๋ฐฐ๊ฒฝ ์์์ด ์์ผ๋ฉด ๋ณํ๋ PNG๋ ํฌ๋ช ๋ฐฐ๊ฒฝ์ผ๋ก ์ ์ฅ๋ฉ๋๋ค. ๊ฒฐ๊ณผ ๋ฏธ๋ฆฌ๋ณด๊ธฐ์์ ๋ฐ๋ํ ํจํด์ด ๋ณด์ด๋ฉด ํฌ๋ช ์์ญ์์ ๋ํ๋ ๋๋ค.
SVG์ ์ธ๋ถ ์นํฐํธ(Google Fonts ๋ฑ)๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ CORS ์ ์ฑ ์ผ๋ก ์ธํด ๋ณํ ์ ํฐํธ๊ฐ ๋์ฒด ํฐํธ๋ก ํ์๋ ์ ์์ต๋๋ค. ํฐํธ๋ฅผ SVG์ ์ง์ ์๋ฒ ๋ํ๊ฑฐ๋, ํ ์คํธ๋ฅผ ํจ์ค(path)๋ก ๋ณํํ๋ฉด ํด๊ฒฐ๋ฉ๋๋ค.