2009-04-24 56 views

回答

2

有基於Java的Apache Batik SVG toolkit

similar question regarding C#建議使用command line version of Inkscape

對於Python,這裏是從this discussion thread一個有用的建議:

import rsvg 
from gtk import gdk 
h = rsvg.Handle('svg-file.svg') 
pixbuf = h.get_pixbuf() 
pixbuf.save('foobar.png', 'png') 

步驟from gtk import gdk,通過Lukasz建議,是必要的,有先於pixbuf的創作,否則你不會得到save方法,如通過the original poster觀察。

+0

啊,那將是真棒,但我不知道如何獲得rsvg。它從一個快速的谷歌搜索中顯示出來,其他人也有類似的問題'獲取'rsvg。這是一個Python 2.6的唯一的東西? – 2009-04-24 22:00:49

+1

Rsvg(http://en.wikipedia.org/wiki/Librsvg)是GNOME項目的一部分。這裏有一個鏈接(http://mwusers.com/forums/showthread.php?p=27924)討論如何在Windows上安裝它。 – 2009-04-24 22:31:32

1

「我得到了rsvg的工作,但這裏是我得到什麼,當我試圖保存:AttributeError:'gtk.gdk.Pixbuf'對象沒有屬性'保存'''Nick Sergeant 2009年4月25日在0:10」

您需要導入GDK有機會獲得pixbuf的方法:

import rsvg 
from gtk import gdk 
h = rsvg.Handle('svg-file.svg') 
pixbuf = h.get_pixbuf() 
pixbuf.save('foobar.png', 'png') 

,並從字符串轉換包含SVG數據:

import rsvg 
from gtk import gdk 
h = rsvg.Handle() 
h.write(svg_string) 
h.close() 
pixbuf = h.get_pixbuf() 
pixbuf.save('foobar.png', 'png')