我需要使用 RSVG 委托(delegate)进行转换。
convert -list format | grep SVG
MSVG SVG rw+ ImageMagick's own SVG internal renderer
SVG SVG rw+ Scalable Vector Graphics (XML 2.9.3)
SVGZ SVG rw+ Compressed Scalable Vector Graphics (XML 2.9.3)
identify -list delegate | grep "svg ="
svg => "rsvg-convert" -o "%o" "%i"
任何想法如何将其设置为转换的默认值?
最佳答案
我让它像这样工作:
- 在您的系统上安装 RSVG
- 使用选项
--with-rsvg=yes
从源配置和安装 ImageMagick
在此处查找更多详细信息: https://gist.github.com/maxivak/1476f7e979879da9f75371a86d5627b5
- 检查 imagemagick 对 svg 的支持
identify -list configure | grep svg
你应该看到这样的东西
DISTCHECK_CONFIG_FLAGS --disable-deprecated --with-quantum-depth=16 --with-jemalloc=no --with-umem=no --with-autotrace=no --with-gslib=no --with-fontpath= --with-rsvg=no --with-perl=no
!注意! --with-rsvg=no
这意味着 ImageMagick 在您的系统中找不到 rsvg。
- 安装RSVG
sudo apt-get install librsvg2-bin
检查 rsvg 是否有效
rsvg-convert my.svg > my.png
- 使用选项“--with-rsvg=no”从源代码重新安装 imagemagick
# download
wget https://imagemagick.org/download/ImageMagick.tar.gz
# untar
tar xvzf ImageMagick.tar.gz
#
cd ImageMagick-7.0.8
# !!! IMPORTANT. option `--with-srvg=yes` !!!
./configure --with-rsvg=yes
#
make
sudo make install
sudo ldconfig /usr/local/lib
- 验证 ImageMagick 安装是否与 SVG 一起正常工作
/usr/local/bin/identify my.svg
关于php - 使用 RSVG 作为默认委托(delegate) ImageMagick Ubuntu 16.04,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37598319/