웹 그래픽, 대시보드 또는 데이터 보고서를 작업하는 경우, SVG 이미지를 표준 PNG 파일로 변환해야 할 필요성을 경험했을 것입니다. 아마도 차트, 아이콘 또는 시각적 보고서를 생성하는 Python 앱을 구축하고 있을 것입니다. 사용 사례가 무엇이든, SVG 코드를 PNG로 변환하는 것은 자주 처리해야 할 작업입니다.
이 가이드에서는 안정적인 Python 라이브러리를 사용하여 SVG 코드와 파일을 PNG 형식으로 쉽게 변환하는 방법에 대해 설명하겠습니다. 이 라이브러리는 SVG 파일을 뛰어난 정확도로 렌더링하고 처리하도록 설계되었습니다.
What Is SVG Code, and Why Convert It to PNG?
SVG (스케일러블 벡터 그래픽스)는 선명한 2차원 비주얼을 생성하는 데 유용한 XML 기반 형식입니다. 벡터 기반이기 때문에 SVG 이미지는 품질을 잃지 않고 어떤 크기로도 확장할 수 있어 현대 인터페이스, 데이터 차트 및 대화형 웹 그래픽에 이상적입니다.
하지만 여기서 문제는: SVG는 유연하지만, PNG는 종종 더 실용적이라는 것입니다. 왜일까요?
- PNGs는 모든 브라우저, 편집기 및 뷰어에서 작동합니다.
- 그들은 문서, 프레젠테이션 또는 이메일에 쉽게 공유하고 삽입할 수 있습니다.
- 래스터 이미지인 PNG는 많은 앱과 환경에서 보통 더 빨리 로드됩니다.
간단히 말해서, SVG 코드를 PNG로 변환하면 벡터 지원이 보장되지 않더라도 모든 장치와 플랫폼에서 시각적으로 명확하고 일관되게 보이도록 도와줍니다.
SVG 코드를 PNG로 변환하는 Python 라이브러리
Aspose.SVG for Python via .NET은 Python 애플리케이션에서 SVG 문서를 파싱, 편집 및 렌더링하기 위한 전용 API입니다. 이를 통해 다음을 할 수 있습니다:
- SVG를 PNG, JPEG, BMP, PDF 및 XPS를 포함한 여러 형식으로 변환합니다.
- 문자열, 파일 또는 URL에서 SVG를 로드합니다.
- 출력 이미지 크기, DPI 및 배경 색상을 제어합니다.
- 완전히 오프라인에서 작업하며, 브라우저나 서드파티 렌더러가 필요 없습니다.
코드에 들어가기 전에 라이브러리가 설치되어 있는지 확인하세요. 공식 릴리스 페이지에서 Aspose.SVG for Python을 직접 다운로드하거나, pip를 사용하여 쉽게 추가할 수 있습니다:
pip install aspose-svg-net
SVG 코드를 PNG로 변환하는 Python 코드
SVG 코드를 문자열로 저장된 상태에서 PNG 이미지로 변환하는 것부터 시작하겠습니다. 이 접근 방식은 API에서 받은 차트나 다이어그램과 같은 동적으로 생성된 SVG에 적합합니다.
아래 단계를 따라 SVG 코드를 문자열에서 PNG 이미지로 변환하세요.
SVGDocument클래스 객체를 사용하여 SVG 코드를 문자열로 로드합니다.ImageRenderingOptions클래스의 인스턴스를 생성하고 출력 형식으로 PNG를 지정하십시오.- 렌더링된 출력을 파일에 쓰기 위해
ImageDevice를 생성합니다. - SVG를 PNG로 변환하려면
document.renderto(device)메서드를 사용하세요.
다음 코드 예제는 문자열에서 SVG 코드를 PNG 이미지로 변환하는 방법을 Python을 사용하여 보여줍니다.
import aspose.svg as svg
from aspose.svg.rendering.image import ImageDevice, ImageFormat, ImageRenderingOptions
# SVG code as a string
svg_code = """
<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200">
<rect width="200" height="200" fill="lightblue"/>
<circle cx="100" cy="100" r="80" fill="orange" stroke="black" stroke-width="2"/>
<text x="100" y="110" text-anchor="middle" font-size="24" fill="white">SVG</text>
</svg>
"""
# 1. 문자열에서 로드 + 기본 URI (외부 자산에 의존하지 않는 경우 "." 사용)
document = svg.SVGDocument(svg_code, ".")
# 2. PNG를 출력으로 선택하세요.
options = ImageRenderingOptions()
options.format = ImageFormat.PNG
# 3. 렌더링된 출력을 파일에 기록하는 장치를 만드세요.
device = ImageDevice(options, r"source_out.png")
# 4. SVG를 PNG로 변환하기
document.render_to(device)

SVG 코드를 PNG로 변환하기 위해 파이썬을 사용하세요.
SVG 코드를 파일에서 PNG로 변환하는 방법 파이썬에서
디스크에 이미 저장된 SVG 파일이 있는 경우, 이를 직접 PNG로 변환할 수 있습니다. 이는 템플릿, 아이콘 또는 내보낸 벡터 그래픽을 변환하는 데 유용합니다.
다음 단계를 따라 파일에서 SVG 코드를 PNG로 변환하세요:
SVGDocument클래스 객체를 사용하여 기존의 SVG 파일을 로드합니다.- 이미지 렌더링 장치를 생성하십시오. PNG 형식으로.
- 이미지를 렌더링하고 저장하세요.
다음 코드 예제는 Python을 사용하여 파일에서 SVG 코드를 PNG 이미지로 변환하는 방법을 보여줍니다.
import aspose.svg as svg
from aspose.svg.rendering.image import ImageDevice, ImageFormat, ImageRenderingOptions
# SVG 파일을 불러오세요.
document = svg.SVGDocument("aspose-svg-logo.svg")
# PNG을 출력으로 선택하세요.
options = ImageRenderingOptions()
options.format = ImageFormat.PNG
# PNG 렌더링 장치 초기화
device = ImageDevice(options, "aspose-svg-logo.png")
# Render and save the output
document.render_to(device)

SVG 코드를 파일에서 PNG로 변환하는 방법 파이썬에서.
출력 크기 및 품질 조정
때때로 PNG의 출력 치수, DPI 또는 스케일을 제어해야 할 필요가 있습니다. Aspose.SVG는 이를 위한 유연한 옵션을 제공합니다.
다음 단계에 따라 출력 이미지 크기와 품질을 조정하세요:
- 렌더링 옵션을 사용자 정의 너비, 높이 또는 DPI로 정의합니다.
- 렌더링 장치를 생성할 때 옵션을 전달하십시오.
- Render and save.
다음 코드 예제는 SVG 코드를 PNG로 변환할 때 출력 이미지 크기와 품질을 조정하는 방법을 보여줍니다:
import aspose.svg as svg
from aspose.svg.drawing import Resolution
from aspose.svg.rendering.image import ImageDevice, ImageFormat, ImageRenderingOptions
# SVG 파일 로드
document = svg.SVGDocument("aspose-svg-logo.svg")
# Pick PNG as output
options = ImageRenderingOptions()
options.format = ImageFormat.PNG
# 렌더링 옵션 설정
options.page_setup.sizing.width = 600
options.page_setup.sizing.height = 400
options.horizontal_resolution = Resolution.from_dots_per_inch(96.0)
options.vertical_resolution = Resolution.from_dots_per_inch(96.0)
# PNG 렌더링 장치 초기화
device = ImageDevice(options, "aspose-svg-logo-resized.png")
# Render and save the output
document.render_to(device)
Python을 사용하여 SVG를 PNG로 인메모리 변환하기
SVG를 완전히 메모리에서 렌더링할 수 있으므로 웹 애플리케이션이나 클라우드 서비스에 완벽합니다. 이 접근 방식은 임시 파일 생성을 피하고 API 응답에 적합합니다.
다음 단계를 따라 Python을 사용하여 SVG를 PNG로 메모리 내에서 변환하세요:
- 문자열에서 SVG 문서를 생성하세요.
- 메모리 내 스트림으로 렌더링하십시오.
- PNG 바이트를 직접 사용하세요 (예: API를 통해 반환).
다음 코드는 Python을 사용하여 메모리에서 SVG를 PNG로 변환하는 방법을 보여줍니다:
import aspose.svg as svg
from aspose.svg.rendering.image import ImageDevice, ImageFormat
import io
svg_code = """
<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100">
<rect width="100" height="100" fill="green"/>
</svg>
"""
# 문자열에서 SVG 문서를 생성하세요.
document = svg.SVGDocument(svg_code, ".")
# PNG 형식을 선택하세요
opts = ImageRenderingOptions()
opts.format = ImageFormat.PNG
# 메모리 스트림에 렌더링
memory_stream = io.BytesIO()
device = ImageDevice(opts, memory_stream)
document.render_to(device)
# PNG 바이트에 접근하세요.
png_data = memory_stream.getvalue()
print(f"Generated PNG size: {len(png_data)} bytes")
Output:
Generated PNG size: 34732 bytes
무료 라이센스 받기
Aspose 제품은 기본적으로 평가 모드로 실행되며, 이는 워터마크나 제한을 추가할 수 있습니다. Aspose 임시 라이센스 페이지에서 무료 임시 라이센스를 요청할 수 있습니다. 적용되면 모든 변환이 제한 없이 실행됩니다.
SVG를 PNG로 온라인에서 무료로 변환하세요
코딩 없이 빠른 변환이 필요한 경우, Aspose에서 제공하는 Free Online SVG to PNG Converter를 사용해 보세요. 이 툴은 브라우저에서 직접 실행되며, Python API와 동일한 고품질 렌더링 엔진을 사용합니다.

SVG to PNG: 무료 리소스
SVG 코드를 PNG로 변환하는 것 외에도 아래 자원을 활용하여 기술을 향상시키세요. 명확한 문서와 실습 개발자 가이드에서부터 즉시 시도해 볼 수 있는 온라인 도구까지 모든 것을 찾을 수 있습니다. 천천히 탐색하고 Aspose.SVG를 무료로 자신의 속도대로 숙달하세요.
SVG 코드를 PNG로: 자주 묻는 질문
Q1: PNG 출력에서 투명도를 유지할 수 있나요?
네, Aspose.SVG는 변환 중에 기본적으로 투명성을 유지합니다.
Q2: 외부 도구 없이 작동하나요?
네. Aspose.SVG는 브라우저나 Inkscape에 의존하지 않고 SVG를 내부적으로 렌더링합니다.
Q3: 메모리나 URL에서 직접 SVG를 로드할 수 있나요?
네, 문자열, 파일 경로 또는 웹 URL에서 SVGDocument를 초기화할 수 있습니다.
정리하기
이 기사에서는 SVG 코드를 Python에서 PNG로 변환하는 방법을 방금 보았습니다. 우리는 .NET을 통해 Aspose.SVG for Python를 사용하여 SVG에서 PNG로의 변환을 처리했습니다. 이는 문자열, 파일 및 폰트와 잘 작동하며, 필요한 모든 것을 제공합니다. 썸네일을 만들거나, 차트를 내보내거나, 보고서용 시각 자료를 생성할 때 이 라이브러리는 SVG 렌더링에 있어 완전한 유연성을 제공합니다. 이는 SVG 코드를 고품질 PNG 이미지로 정기적으로 변환해야 하는 사람들에게 신뢰할 수 있는 선택입니다.
질문이 있거나 어려운 상황에 직면했나요? 걱정하지 마세요! 저희 팀이 기꺼이 도와드립니다! 언제든지 Aspose.SVG free support forum에서 연락하실 수 있으며 전문가에게 직접 조언을 받을 수 있습니다.
