Используйте librsvg / rsvg для преобразования SVG изображений с ImageMagick
Я знаю, что этот вопрос имеет несколько вариантов ответа здесь (например:ImageMagick конвертировать SVG в PNG не работает с rsvg включен), но на самом деле я не могу найти реального решения моей точной проблемы. Моя проблема: у меня есть конкретный SVG-файл (и я буду генерировать больше), который ImageMagick внутри SVG>PNG convertor process не конвертирует идеально. Поэтому мне нужно изменить его на librsvg, потому что это так, я тестировал эти 2 строки с разными результат:
convert test.svg test.png // ( img: http://tinyurl.com/px2lw3v )
rsvg-convert test.svg -o test.png // ( img: http://tinyurl.com/lreu6sk )
я установил HomeBrew. Как описано здесь: ImageMagick конвертировать SVG в PNG не работает с rsvg включен я использовал этот код для установки ImageMagick brew install imagemagick --use-rsvg
. Я понял, что он не устанавливает librsvg поэтому мне нужно было удалить его и переустановить следующим образом:brew reinstall imagemagick --with-libsrvg librsvg --use-rsvg
: это установленный imagemagick & librsvg вместе с моим mac. Но не связывает их:convert -list format | grep SVG
в результате, так как:
MSVG SVG rw+ ImageMagick's own SVG internal renderer SVG SVG rw+ Scalable Vector Graphics (XML 2.9.0) SVGZ SVG rw+ Compressed Scalable Vector Graphics (XML 2.9.0)
при этом: convert -list delegate | grep svg
в результате, так как:
svg => "rsvg-convert" -o "%o" "%i"
я установил и удалил и переустановил их несколько раз и способами, но ничего не изменилось и скрипт convert test.svg test.png
сделать это без librsvg. Я добавил строки в /usr / local / Cellar/imagemagick/6.8.9-1/lib/ImageMagick/config-Q16 / configure.XML с тегами, но ничего не продвинулось. Я не знаю, что делать и как подключить ImageMagick и заставить использовать другую библиотеку для convert test.svg test.png
.
Спасибо за помощь.
больше информация:
$ which convert
/usr/local/bin/convert
$ convert -version
Version: ImageMagick 6.8.9-1 Q16 x86_64 2014-05-12 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2014 ImageMagick Studio LLC
Features: DPC Modules
Delegates: bzlib freetype jng jpeg ltdl lzma png xml zlib
$ otool -L $(which convert)
/usr/local/bin/convert:
/usr/local/Cellar/imagemagick/6.8.9-1/lib/libMagickCore-6.Q16.2.dylib (compatibility version 3.0.0, current version 3.0.0)
/usr/local/Cellar/imagemagick/6.8.9-1/lib/libMagickWand-6.Q16.2.dylib (compatibility version 3.0.0, current version 3.0.0)
/usr/local/lib/libfreetype.6.dylib (compatibility version 18.0.0, current version 18.2.0)
/usr/lib/liblzma.5.dylib (compatibility version 6.0.0, current version 6.3.0)
/usr/lib/libbz2.1.0.dylib (compatibility version 1.0.0, current version 1.0.5)
/usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.5)
/usr/local/lib/libltdl.7.dylib (compatibility version 11.0.0, current version 11.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
$ which rsvg-convert
/usr/local/bin/rsvg-convert
$ otool -L $(which rsvg-convert)
/usr/local/bin/rsvg-convert:
/usr/local/Cellar/librsvg/2.36.3/lib/librsvg-2.2.dylib (compatibility version 39.0.0, current version 39.3.0)
/usr/local/lib/libgdk_pixbuf-2.0.0.dylib (compatibility version 3001.0.0, current version 3001.8.0)
/usr/local/lib/libgio-2.0.0.dylib (compatibility version 4001.0.0, current version 4001.0.0)
/usr/local/lib/libpangocairo-1.0.0.dylib (compatibility version 3601.0.0, current version 3601.5.0)
/usr/local/lib/libpango-1.0.0.dylib (compatibility version 3601.0.0, current version 3601.5.0)
/usr/local/lib/libgobject-2.0.0.dylib (compatibility version 4001.0.0, current version 4001.0.0)
/usr/local/lib/libcairo.2.dylib (compatibility version 11203.0.0, current version 11203.16.0)
/usr/local/lib/libpng16.16.dylib (compatibility version 29.0.0, current version 29.0.0)
/usr/local/lib/libcroco-0.6.3.dylib (compatibility version 4.0.0, current version 4.1.0)
/usr/lib/libxml2.2.dylib (compatibility version 10.0.0, current version 10.9.0)
/usr/local/lib/libgthread-2.0.0.dylib (compatibility version 4001.0.0, current version 4001.0.0)
/usr/local/lib/libglib-2.0.0.dylib (compatibility version 4001.0.0, current version 4001.0.0)
/usr/local/opt/gettext/lib/libintl.8.dylib (compatibility version 10.0.0, current version 10.2.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
- ImageMagick 6.6.9-1
- Mac OS X 10.9.4
2 ответов
(просто добавляя больше контекста к ответу Золтана)
использовать brew info imagemagick
чтобы увидеть доступные параметры при его установке.
--with-librsvg
Build with librsvg support
я попробовал и мое решение на Mac:
- выполнить
brew doctor
иbrew update
- использовать просто
brew reinstall imagemagick --with-librsvg
/ / - вы можете ошибиться! - попробовать его. это должно сработать!
- Это его работа?