svgtoqml
svgtoqml
은 Qt와 함께 제공되는 명령줄 도구로, SVG 문서를 QML 파일로 변환합니다. 그런 다음 이 QML 파일을 Qt Quick 애플리케이션의 구성 요소로 사용할 수 있습니다. 일기 예보 예 시에는 이 도구를 사용하여 생성된 여러 QML 파일이 포함되어 있습니다.
개요
svgtoqml
은 SVG 파일을 Qt Quick 프리미티브를 사용하는 QML 파일로 변환합니다. Qt Quick 은 확장 가능한 벡터 그래픽을 지원하므로 결과 항목은 가능한 한 원활하게 변환할 수 있습니다. 기본적으로 이 도구는 SVG Tiny 1.2 프로필의 정적 기능 대부분을 지원합니다. 특정 추가 기능은 경우에 따라 결정됩니다. 대화형 기능 및 애니메이션은 지원되지 않습니다.
사용법
svgtoqml
의 기본 사용법은 입력 파일과 출력 파일을 제공하는 것입니다: svgtoqml input.svg output.qml
. 그러면 input.svg
파일을 읽고 output.qml
에서 해당 Qt Quick 장면으로 변환한 다음 Qt Quick 애플리케이션의 일부로 사용할 수 있습니다.
또한 다음 옵션을 지원합니다:
옵션 | 설명 |
---|---|
-저작권-문구 <string> | 생성된 파일의 시작 부분에 <string>을 주석으로 추가합니다. |
-c, -curve-renderer | 커브 렌더러 백엔드를 활성화합니다. Qt Quick Shapes. 이렇게 하면 멀티 샘플링 없이도 씬에서 부드러운 앤티앨리어싱 셰이프를 만들 수 있지만 추가 비용이 발생합니다. |
-p, -optimize-paths | 경로를 QML 파일에 커밋하기 전에 경로를 최적화하여 나중에 로드 및 렌더링 속도를 높일 수 있습니다. |
-outline-stroke-mode | 원본 경로 대신 채워진 도형의 윤곽선(윤곽선)을 획으로 그립니다. |
-t, -타입명 <스트링> | Shape 대신에 출력에 유형 이름 <string>이 사용됩니다. 이렇게 하면 사용자 지정 항목을 사용하여 Shape 항목의 기본 동작을 재정의할 수 있습니다. |
-v, -view | Qt Quick 항목이 생성될 때 미리 보기를 표시합니다. |
다른 옵션과 비교
Qt Quick 에 SVG 콘텐츠를 포함하기 위한 여러 옵션이 있습니다. 다음은 svgtoqml
이 스토리에 적합한 위치에 대한 개요입니다.
와 비교 Qt SVG
Qt SVG 는 SVG 파일용 파서 및 소프트웨어 렌더러를 제공하는 모듈입니다. 또한 이미지 로더 플러그인이 포함되어 있어 Qt Quick 의 Image 요소로 SVG 파일을 직접 로드할 수 있습니다. 그러면 SVG가 래스터화되고 지정된 크기로 캐시되어 다시 그리는 비용이 상당히 저렴해집니다. 그러나 픽셀화 없이 이미지를 확대하려면 다른 크기로 다시 로드해야 하므로 비용이 많이 들 수 있습니다.
svgtoqml
(및 VectorImage 컴포넌트)는 동일한 콘텐츠를 렌더링하는 다른 방법입니다. Qt Quick 에 로드되면 장면을 렌더링하는 데 필요한 지오메트리 데이터를 GPU 메모리에 유지하면서 트랜스폼을 변경할 수 있습니다. 따라서 오버헤드가 거의 없이 벡터 이미지를 다양한 배율로 다시 그릴 수 있습니다.
그러나 애플리케이션의 수명 기간 동안 이미지 크기가 변경되지 않는다면 SVG를 Image 로 로드하는 것이 더 효율적입니다. 이 경우 SVG가 항상 가능한 크기의 작은 하위 집합으로 렌더링되는 경우 PNG
와 같이 로드하기에 더 효율적인 이미지 형식으로 미리 래스터화하는 것이 좋습니다.
VectorImage와 비교
VectorImage 컴포넌트는 svgtoqml
과 동일한 기본 기능을 제공하지만 Qt Quick 장면을 QML 파일로 미리 생성하는 대신 런타임에 장면을 생성합니다. 따라서 빌드 시점에 제공되지 않는 SVG 파일을 로드할 수 있으므로 유연성이 향상됩니다. svgtoqml
로 씬을 미리 생성하면 씬을 로드하기 전에 최적화할 수 있습니다. 따라서 빌드 시점에 사용할 수 있는 파일의 경우 svgtoqml
이 선호되는 옵션입니다.
PathSvg와 비교
PathSvg 컴포넌트는 Qt Quick Shapes 모듈의 일부입니다. 경로의 제어점을 문자열로 지정하는 SVG에서 사용하는 구문으로 경로를 정의하는 방법을 제공합니다. SVG 파일 로드를 지원하지 않으므로 svgtoqml
의 직접적인 대안은 아닙니다. 복잡한 SVG에 애플리케이션에 필요한 특정 모양이 포함되어 있는 경우 이 경로 설명을 PathSvg 에 복사하는 것이 전체 파일을 생성하는 것보다 더 편리할 수 있습니다.
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.