اگر شما با گرافیک وب، داشبوردها یا گزارش‌های داده کار می‌کنید، احتمالاً با نیاز به تبدیل تصاویر SVG به فایل‌های استاندارد PNG مواجه شده‌اید. شاید شما در حال ساختن یک اپلیکیشن پایتون هستید که نمودارها، آیکون‌ها یا گزارش‌های بصری ایجاد می‌کند. هرچه که مورد استفاده باشد، تبدیل کد SVG به PNG وظیفه‌ای است که معمولاً باید با آن سر و کار داشته باشید.

در این راهنما، ما به شما نشان خواهیم داد که چگونه به راحتی کد و فایل‌های SVG را به فرمت PNG در پایتون تبدیل کنید با استفاده از یک کتابخانه معتبر پایتون که برای رندر و پردازش فایل‌های SVG با دقت استثنایی ساخته شده است.

چه کدی برای SVG است و چرا باید آن را به PNG تبدیل کرد؟

SVG (گرافیک وکتور مقیاس‌پذیر) فرمت مبتنی بر XML است که برای ایجاد تصاویر دو بعدی واضح بسیار مناسب است. از آنجا که این فرمت بر مبنای وکتور است، یک تصویر SVG می‌تواند به هر اندازه‌ای بزرگ شود بدون اینکه کیفیت خود را از دست بدهد، که این آن را برای واسط‌های مدرن، نمودارهای داده و گرافیک‌های وب تعاملی ایده آل می‌سازد.

اما اینجا نکته‌ای وجود دارد: در حالی که SVGها انعطاف‌پذیر هستند، PNGها غالباً کاربردی‌ترند. چرا؟

  • تصاویر PNG در همه جا در تمام مرورگرها، ویرایشگرها و مشاهده‌کننده‌ها کار می‌کنند.
  • آن‌ها آسان برای به اشتراک گذاشتن و جاسازی در اسناد، ارائه‌ها یا ایمیل‌ها هستند.
  • تصاویر رشته‌ای مانند PNG معمولاً در بسیاری از برنامه‌ها و محیط‌ها سریع‌تر بارگذاری می‌شوند.

به طور ساده، تبدیل کد SVG به PNG کمک می‌کند تا اطمینان حاصل کنید که تصاویر شما در هر دستگاه و پلتفرمی تیز و سازگار به نظر می‌رسند — حتی زمانی که پشتیبانی از بردار تضمین نشده است.

کتابخانه پایتون برای تبدیل کد SVG به PNG

Aspose.SVG for Python via .NET یک API اختصاصی برای تجزیه، ویرایش و رندر کردن اسناد SVG در برنامه های پایتون است. این به شما اجازه می‌دهد:

  • SVG ها را به فرمت های مختلف از جمله PNG، JPEG، BMP، PDF و XPS تبدیل کنید.
  • از رشته‌ها، فایل‌ها یا URLها SVG بارگذاری کنید.
  • اندازه تصویر خروجی، DPI و رنگ پس‌زمینه را کنترل کنید.
  • به طور کامل آفلاین کار کنید، نیازی به مرورگرها یا رندرکننده‌های شخص ثالث نیست.

قبل از اینکه به کد بپردازیم، مطمئن شوید که کتابخانه نصب شده است. می‌توانید Aspose.SVG for Python را مستقیماً از صفحه رسمی نسخه‌ها دانلود کنید، یا می‌توانید به راحتی آن را با استفاده از pip اضافه کنید:

pip install aspose-svg-net

کد SVG را به PNG در پایتون تبدیل کنید

بیایید با تبدیل کد SVG ذخیره شده به عنوان یک رشته به تصویر PNG شروع کنیم. این روش برای SVG های تولید شده به صورت پویا، مانند چارت‌ها یا دیاگرام‌هایی که از یک API دریافت می‌شوند، ایده‌آل است.

مراحل زیر را برای تبدیل کد SVG از یک رشته به تصویر PNG دنبال کنید:

  1. کد SVG را به عنوان یک رشته با استفاده از شیء کلاس SVGDocument بارگذاری کنید.
  2. یک نمونه از کلاس ImageRenderingOptions ایجاد کنید و فرمت خروجی را به عنوان PNG مشخص کنید.
  3. ImageDevice را ایجاد کنید تا خروجی رندر شده را در یک فایل بنویسید.
  4. SVG را به PNG با استفاده از روش document.renderto(device) تبدیل کنید.

کد نمونه زیر نشان می‌دهد که چگونه می‌توان کد SVG را از یک رشته به تصویر PNG با استفاده از پایتون تبدیل کرد.

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 تبدیل کنید. این برای تبدیل الگوها، آیکون‌ها یا گرافیک‌های وکتور صادراتی مفید است.

برای تبدیل کد SVG از یک فایل به PNG، مراحل زیر را دنبال کنید:

  1. یک فایل SVG موجود را با استفاده از شیء کلاس SVGDocument بارگذاری کنید.
  2. یک دستگاه رندر تصویر با فرمت PNG ایجاد کنید.
  3. تصویر را رندر و ذخیره کنید.

کد نمونه زیر نشان می‌دهد که چگونه می‌توان کد SVG را از یک فایل به یک تصویر PNG با استفاده از Python تبدیل کرد.

import aspose.svg as svg
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

# دستگاه رندرینگ PNG را راه‌اندازی کنید
device = ImageDevice(options, "aspose-svg-logo.png")

# Render and save the output
document.render_to(device)
کد SVG را از فایل به PNG در پایتون تبدیل کنید

کد SVG را از فایل به PNG در پایتون تبدیل کنید.

تنظیم اندازه و کیفیت خروجی

گاهی اوقات شما نیاز دارید که ابعاد خروجی، DPI یا مقیاس‌گذاری PNG را کنترل کنید. Aspose.SVG گزینه‌های انعطاف‌پذیری برای این کار فراهم می‌کند.

مراحل زیر را برای تنظیم اندازه و کیفیت تصویر خروجی دنبال کنید:

  1. گزینه‌های رندر را با عرض، ارتفاع یا DPI سفارشی تعریف کنید.
  2. گذشته گزینه‌ها هنگام ایجاد دستگاه رندرینگ.
  3. 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)

با استفاده از پایتون، SVG را به PNG به صورت در حافظه تبدیل کنید.

شما می‌توانید SVGها را به‌طور کامل در حافظه ایجاد کنید، که این برای برنامه‌های وب یا خدمات ابری ایده‌آل است. این رویکرد از ایجاد فایل‌های موقت جلوگیری می‌کند و برای پاسخ‌های API مناسب است.

مراحل زیر را برای تبدیل SVG به PNG در حافظه با استفاده از پایتون دنبال کنید:

  1. یک سند SVG از یک رشته ایجاد کنید.
  2. به یک جریان حافظه‌ای رندر کنید.
  3. از بایت‌های PNG به‌طور مستقیم استفاده کنید (به عنوان مثال، از طریق API بازگردانی کنید).

مثال کد زیر نشان می‌دهد که چگونه می‌توان 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 Temporary License page یک مجوز موقت رایگان درخواست کنید. پس از اعمال آن، همه تبدیل‌ها بدون محدودیت اجرا خواهند شد.

تبدیل SVG به PNG به صورت آنلاین و رایگان

اگر فقط به یک تبدیل سریع بدون کدنویسی نیاز دارید، از Free Online SVG to PNG Converter که توسط Aspose ارائه شده استفاده کنید. این ابزار مستقیماً در مرورگر شما اجرا می‌شود و از همان موتور رندرینگ با کیفیت بالا که در API پایتون استفاده می‌شود، بهره می‌برد.

Image

SVG به PNG: منابع رایگان

علاوه بر تبدیل کد SVG به PNG، از منابع زیر برای ارتقاء مهارت‌های خود استفاده کنید. شما همه چیز را از مستندات شفاف و راهنماهای کاربردی توسعه‌دهنده تا ابزارهای آنلاین که می‌توانید بلافاصله امتحان کنید، خواهید یافت. زمان خود را بگذارید، کاوش کنید و Aspose.SVG را با سرعت خود به صورت رایگان تسلط پیدا کنید.

کد SVG به PNG: سوالات متداول

Q1: آیا می‌توانم شفافیت را در خروجی PNG حفظ کنم؟

بله، Aspose.SVG به طور پیش فرض در هنگام تبدیل شفافیت را حفظ می‌کند.

Q2: آیا بدون هیچ ابزار خارجی کار می‌کند؟

بله. Aspose.SVG SVG ها را به صورت داخلی رندر می‌کند بدون اینکه به مرورگرها یا Inkscape تکیه کند.

Q3: آیا می‌توانم SVG را به‌طور مستقیم از حافظه یا یک URL بارگذاری کنم؟

بله، شما می‌توانید SVGDocument را از یک رشته، مسیر فایل یا یک URL وب مقداردهی اولیه کنید.

خلاصه‌سازی آن

در این مقاله، شما فقط یاد گرفتید که چگونه کد و فایل‌های SVG را در پایتون به PNG تبدیل کنید. ما از Aspose.SVG برای پایتون از طریق .NET برای انجام تبدیل از SVG به PNG استفاده کردیم. این کتابخانه به خوبی با رشته‌ها، فایل‌ها و قلم‌ها کار می‌کند، تقریباً هر چیزی که نیاز دارید. اگر شما در حال ساختن تصویر کوچک، صادرات نمودارها یا تولید بصری برای گزارش‌ها هستید، این کتابخانه به شما انعطاف‌پذیری کامل در زمینه رندرینگ SVG می‌دهد. این یک انتخاب قابل اعتماد برای هر کسی است که به طور منظم نیاز دارد کد SVG را به تصاویر PNG با کیفیت بالا تبدیل کند، همه این‌ها در داخل پایتون.

سوالی دارید یا به مشکلی برخوردید؟ نگران نباشید! تیم ما خوشحال است که کمک کند! شما همیشه می‌توانید در هر زمانی در انجمن پشتیبانی رایگان Aspose.SVG free support forum ارتباط برقرار کنید و راهنمایی را به طور مستقیم از کارشناسان دریافت کنید.

همچنین ببینید