14

この質問にはここにいくつかの回答バージョンがあることを知っています(このように:ImageMagick convert SVG to PNG not working with RSVG enabled)が、実際には正確な問題に対する実際の解決策を見つけることができません。私の問題は次のとおりです。SVG>PNGコンバータープロセス内のImageMagickが完全に変換しない特定のSVGファイルがあります(さらに生成します)。したがって、 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)

while this:は次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)
  • イメージマジック 6.6.9-1
  • Mac OS X 10.9.4
4

3 に答える 3

17

私が試したところ、私の解決策はMacにあります:

  1. 走っbrew doctorbrew update
  2. 単純に使用してbrew reinstall imagemagick --with-librsvgください // - スペルが間違っている可能性があります!
  3. それを試してみてください。それはうまくいくはずです!

仕事ですか?

于 2014-07-16T22:43:35.897 に答える
6

(Zoltanの回答にコンテキストを追加するだけです)

brew info imagemagickインストール時に使用可能なオプションを確認するために使用します。

--with-librsvg
    Build with librsvg support
于 2014-12-17T11:22:35.653 に答える