اذهب إلى المحتوى
  • 0

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

TheBrain

السؤال

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

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 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()

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...