首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用librsvg / rsvg用ImageMagick转换SVG图像

使用librsvg / rsvg用ImageMagick转换SVG图像
EN

Stack Overflow用户
提问于 2014-07-01 14:49:20
回答 3查看 12.3K关注 0票数 15

我知道这个问题在这里有几个答案(比如:ImageMagick convert SVG to PNG not working with RSVG enabled ),但实际上我无法找到真正的解决方案。我的问题是:我有一个特定的SVG文件(我会生成更多),SVG>PNG转换过程中的SVG>PNG不能很好地进行转换。因此,我需要将它更改为librsvg,因为它是这样的,所以我用不同的结果测试了这2行代码:

代码语言:javascript
复制
    convert test.svg test.png  // ( img: http://tinyurl.com/px2lw3v )
    rsvg-convert test.svg -o test.png // ( img: http://tinyurl.com/lreu6sk )

我安装了HomeBrew。如这里所述:ImageMagick convert SVG to PNG not working with RSVG enabled,我使用这段代码来安装ImageMagick brew install imagemagick --use-rsvg。我意识到它并没有安装 librsvg ,所以我需要卸载它并像这样重新安装:brew reinstall imagemagick --with-libsrvg librsvg --use-rsvg:这个已安装的imagemagick &librsvg一起安装到我的上。但并没有将它们连接起来:convert -list format | grep SVG的结果是:

MSVG rw+ ImageMagick自己的SVG内部渲染器SVG rw+可缩放矢量图形(XML2.9.0) SVGZ rw+压缩可扩展矢量图形(XML2.9.0)

而这:convert -list delegate | grep svg的结果是:

代码语言:javascript
复制
    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库。

谢谢你的帮助。

更多信息:

代码语言:javascript
复制
    $ 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 10.9.4
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-12-17 11:22:35

(只是在Zoltan的回答中添加了更多的上下文)

安装时使用brew info imagemagick查看可用选项。

代码语言:javascript
复制
--with-librsvg
    Build with librsvg support
票数 6
EN

Stack Overflow用户

发布于 2014-07-16 22:43:35

我试过了,我的解决方案是在Mac上:

  1. 运行brew doctorbrew update
  2. 使用简单的brew reinstall imagemagick --with-librsvg // -你可能拼错了!
  3. 试试看。应该管用的!

起作用了吗?

票数 17
EN

Stack Overflow用户

发布于 2019-04-11 16:43:04

如果您想使用Homebrew安装带有svg支持的imagemagick,则需要使用较早的版本。他们删除了2019年初安装过程中的选项。

代码语言:javascript
复制
    brew install https://github.com/Homebrew/homebrew-core/raw/46a2ef7c9f0380b8e19f8dfe37270caa27581353/Formula/imagemagick.rb --with-librsvg
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24513244

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档