TL;DR
- Pic2svg의 any2svg는 이미지를 로컬 추적 엔진에서 처리해 실제 벡터 경로로 변환하며, 최대 약 45MB 파일을 지원함.
- Pillow로 이미지를 RGB로 정규화하고, 프리셋에 따라 필요할 때만 다운샘플링한 뒤 색상 수를 기준으로 평면 그래픽과 사진을 구분함.
vtracer가 색상 레이어를 채워진 경로로 만들며, 결과는 SVG이고 요청할 때만 PDF·EPS·AI·DXF로 내보냄.- 추적 시간은 픽셀 수보다 이미지의 고유 색상 영역 수에 좌우되며, 같은 2.3MP 이미지도 약 1.75초 또는 약 50초가 걸릴 수 있음.
- 셀프 호스팅 설치에서는 이미지가 앱을 제공하는 머신의 로컬 엔진에서 처리되지만, 페이지의 호스팅 변환기는 추적 전에 이미지를 api.pic2svg.com에 전송함.
이미지에서 SVG로 변환
- any2svg는 사진, 로고, 일러스트레이션을 머신에서 해상도 독립적인 벡터 경로로 추적함.
- PNG, JPG, WEBP, GIF 이미지를 드래그하거나 선택해 변환할 수 있으며, 붙여넣기도 지원함.
- 추적 프리셋은 Sharp, Balanced (Auto), Compact이며, 설정은 다음에 추가하는 이미지에 적용되고 이미지가 들어오는 대로 추적됨.
any2svg의 기능
- 입력 형식: JPG, PNG, WEBP, TIFF, BMP, GIF, ICO.
- 투명도는 흰색 배경에 합성되며, CMYK 및 팔레트 모드는 추적 전에 RGB로 정규화됨.
- 출력은 SVG 안에 비트맵을 감싼 파일이 아니라, 벡터 편집기에서 열고 편집할 수 있는 실제 채워진 경로임. Illustrator, Figma, Inkscape, CAD에서 열 수 있음.
- 하나의 추적 결과를 웹용 SVG, 인쇄용 PDF, Illustrator용 EPS 및 AI, AutoCAD용 DXF로 내보낼 수 있음.
이미지 처리 과정
- 파일 하나 또는 사진 열두 장을 넣어도 각 파일은 다음 다섯 단계를 거침.
- 1단계 — 정규화: Pillow로 래스터 이미지를 열고 RGB로 변환함. 투명도는 흰색에 합성하고, 팔레트 또는 CMYK 이미지는 깨끗한 3채널 이미지로 변환함.
- 2단계 — 크기에 맞춰 다운샘플링: 이미지가 프리셋의 최대 크기보다 넓을 때만 LANCZOS로 리샘플링함. 최대 너비는 Sharp 3840px, Balanced 및 Compact 3072px이며, 업스케일링은 하지 않아 캔버스가 원본보다 커지지 않음.
- 3단계 — 모드 감지: 256px 썸네일에서 양자화된 고유 색상 수를 계산함. 색상이 48개 이하면 평면 그래픽으로 판단해 직선 가장자리의 다각형으로 추적하고, 그보다 많으면 사진으로 판단해 매끄러운 스플라인으로 추적함.
- 4단계 — 추적:
vtracer가 여러 색상 레이어를 쌓아 채워진 경로를 구성함. 경로별 translate 변환은 절대 좌표에 통합하고, viewBox를 추가하며, 편집기에서 읽기 쉽도록 경로 데이터를 정리해 출력함. - 5단계 — 요청에 따라 내보내기: 추적 결과는 항상 SVG임. PDF, EPS, AI, DXF는 사용자가 선택할 때만 해당 SVG에서 생성되므로 요청하지 않은 파일을 만드는 작업 때문에 일괄 처리가 느려지지 않음.
자주 묻는 질문
- 실제 벡터인가, SVG 파일 안의 이미지인가? 채워진
<path>요소로 구성된 실제 벡터이며<image>요소는 포함되지 않음. 엔진은<image>요소가 나타나면 표준 오류(stderr)에 경고를 출력함. Illustrator, Figma, Inkscape 또는 CAD 도구에서 파일을 열어 개별 경로를 편집할 수 있음. - 이미지는 어디로 전송되는가? 앱을 제공하는 머신에서 실행되는 로컬 추적 엔진으로 전송됨. 셀프 호스팅 설치라면 해당 머신은 사용자의 머신임. 제3자 변환 서비스에는 전달되지 않으며 파일과 연결되는 계정도 필요하지 않음.
- 추적 가능한 이미지 크기는 어느 정도인가? 약 45MB까지 가능함. 더 큰 업로드는 추적을 시작하기 전에 거부되어, 몇 분 뒤 시간 초과가 발생하는 대신 즉시 오류가 표시됨.
- AI 파일은 정확히 무엇인가? EPS 내보내기와 동일한 바이트를 사용하는 EPS 호환 PostScript로 작성됨. 변환 단계 없이 Illustrator에서 바로 열 수 있는 형식임. 파이프라인에 네이티브 Illustrator 문서가 필요하다면 SVG를 사용해 Illustrator에 직접 배치해야 함.
- 사진마다 처리 시간이 다른 이유는 무엇인가? 비용은 픽셀 수가 아니라 고유 색상 영역 수에 따라 달라짐. 대부분이 평면 색상인 2.3MP 사진은 여기서 약 1.75초 만에 추적됐지만, 같은 크기의 실제 사진 세부 묘사가 담긴 이미지는 약 50초가 걸렸음. 추적이 끝나기 전에는 색상 영역 수를 알 수 없으므로 진행률 표시줄은 백분율을 보여주는 대신 완료된 이미지 수를 셈.
- 오프라인 변환기는 실제로 무엇을 하는가? Inkscape 1.4.4 헤드리스, potrace 1.16, 이 엔진을 로컬에서 세 가지 입력에 각각 두 번 실행해 측정했으며, 명령어와 실행 시간, 원시 JSON은 Offline converter benchmark에 공개됨. 해당 실행은 실제 로컬 CLI 도구를 사용함. 다만 이 페이지의 호스팅 변환기는 별도의 경계에 있으며, 추적 전에 이미지를 base64로 api.pic2svg.com에 전송함.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요