• 0

كيف أحول صورة svg إلى Png عن طريق بايثون؟

لدي صور ذات امتداد svg فما الطريقة الصحيحة لتحويلها إلى png عن طريق استخدام لغة بايثون؟ هل يجب علي استخدام مكتبة pyCairo؟ حفظت صورة svg في سلسلة نصية.

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

يوجد في بايثون العديد من الطرق لتحويل صور svg إلى png أسهلها  استخدام حزمة python_rsvg الموجودة في توزيعة أبنتو وفيدورا (صعب إيجادها خارجهما بسبب أنها جزء من مشروع gnome-python-desktop)، وهذا مثال بسيط على استخدامها حيث أن filename هو اسم ملف svg:

import cairo
import rsvg

img = cairo.ImageSurface(cairo.FORMAT_ARGB32, 640,480)

ctx = cairo.Context(img)

handle= rsvg.Handle(None, str(<svg data>))

handle.render_cairo(ctx)

img.write_to_png("svg.png")

توجد طريقة أخرى للتحويل باستخدام دالة cairosvg، فلو افترضنا أن الشيفرة SVG موجودة في متغير code فستكون عملية تحويله كالتالي:

import cairosvg

pngout = open('output.png','w')

cairosvg.svg2png(bytestring=code,write_to=pngout)

pngoutout.close()

 

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن