2011-08-16 47 views
0

我正在使用Image Magick庫將.svg文件轉換爲jpg,但它正在創建一個空白圖像。我已經檢查了很多論壇,但無法弄清楚它的問題。我有一個文件名爲abc.svg,裏面有下面的代碼;Image Magick沒有將svg文件轉換爲jpg

<?xml version="1.0"?> 
<svg xmlns="http://www.w3.org/2000/svg" width="12cm" height="12cm"> 
<g style="fill-opacity:0.7; stroke:black; stroke-width:0.1cm;"> 
<circle cx="6cm" cy="2cm" r="100" style="fill:red;"transform="translate(0,50)" /> 
<circle cx="6cm" cy="2cm" r="100" style="fill:blue;"transform="translate(70,150)" /> 
<circle cx="6cm" cy="2cm" r="100" style="fill:green;"transform="translate(-70,150)"/> 
</g> 
</svg> 

我想通過以下命令將其轉換:

$convert abc.svg abc.jpg

但我得到該文件(即abc.jpg的僅僅是空白)

請幫我帶着這個問題,讓我可以繼續前進。

在此先感謝。

回答

2

這可能是因爲JPEG不支持透明度,誤解了SVG的不透明度。 According to this post on the ImageMagick forums,您可以嘗試先將背景顏色變爲平坦,然後將其轉換爲JPEG。

convert image.svg -background gray -flatten output.jpg 
convert abc.svg abc.jpg 
0

一方面,您的SVG文件有錯誤。您在三個圈子中的transform屬性之前缺少一個空格。在我解決這個問題後,它可以用ImageMagick(6.6.9-7從Debian)轉換爲我。

但是,當我在ImageMagick中嘗試文件時,它不會給我一個空文件。它給出了一些錯誤,根本沒有輸出文件。您的SVG文件是否可以在任何其他程序中使用,例如Inkscape? ImageMagick的副本是否處理其他SVG文件?