Image Magick не конвертирует SVG-файл в JPG - PullRequest
0 голосов
/ 16 августа 2011

Я использую библиотеку Image Magick для преобразования файла .svg в jpg, но он создает пустое изображение. Я проверил много форумов для этого, но не смог выяснить проблему с ним. У меня есть имя файла abc.svg, в котором есть следующий код:

<?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 ]

2 голосов
/ 16 августа 2011

Возможно, это связано с тем, что JPEG не поддерживает прозрачность и неправильно интерпретирует непрозрачность SVG. Согласно этому сообщению на форумах ImageMagick, вы можете попытаться сначала сгладить SVG с помощью цвета фона, а затем преобразовать его в JPEG.

convert image.svg  -background gray  -flatten  output.jpg
convert abc.svg abc.jpg
0 голосов
/ 16 августа 2011

Во-первых, в вашем SVG-файле есть ошибки. Вам не хватает пробела перед атрибутом transform в ваших трех кругах. Для меня он прекрасно конвертируется с помощью ImageMagick (6.6.9-7 из Debian ) после того, как я это исправлю.

Но когда я пробую ваш файл в ImageMagick, он не дает мне пустой файл. Это дает несколько ошибок и никакого выходного файла вообще. Работает ли ваш SVG-файл в любой другой программе, например, Inkscape ? Ваша копия ImageMagick обрабатывает другие файлы SVG?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...