Php 无法使用Imagemagick将SVG转换为WMF
我正在尝试在Linux下使用PHP和Imagick将SVG格式的图像转换为WMF。我可以成功地将图像从SVG转换为PNG,但不能从SVG转换为WMF。我没有PHP错误,只有一个空图像。我怀疑我可能有安装/配置问题,因为当我尝试使用ImageMagick“convert”命令时,我遇到以下错误Php 无法使用Imagemagick将SVG转换为WMF,php,imagemagick,imagick,wmf,Php,Imagemagick,Imagick,Wmf,我正在尝试在Linux下使用PHP和Imagick将SVG格式的图像转换为WMF。我可以成功地将图像从SVG转换为PNG,但不能从SVG转换为WMF。我没有PHP错误,只有一个空图像。我怀疑我可能有安装/配置问题,因为当我尝试使用ImageMagick“convert”命令时,我遇到以下错误 > convert image.svg image.wmf convert: no encode delegate for this image format `image.wmf' @ consti
> convert image.svg image.wmf
convert: no encode delegate for this image format `image.wmf' @ constitute.c/WriteImage/1114.
然而,wmf代表似乎已正确注册
> convert -list configure
Path: /usr/lib64/ImageMagick-6.5.4/config/configure.xml
Name Value
-------------------------------------------------------------------------------
CC gcc -std=gnu99
CFLAGS -fopenmp -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -Wall -W -pthread
CONFIGURE ./configure '--build=x86_64-redhat-linux-gnu' '--host=x86_64-redhat-linux-gnu' '--target=x86_64-redhat-linux-gnu' '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib64' '--libexecdir=/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/var/lib' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--enable-shared' '--disable-static' '--with-modules' '--with-perl' '--with-x' '--with-threads' '--with-magick_plus_plus' '--with-gslib' '--with-wmf' '--with-lcms' '--with-rsvg' '--with-xml' '--with-perl-options=INSTALLDIRS=vendor CC='\''gcc -L/builddir/build/BUILD/ImageMagick-6.5.4-7/magick/.libs'\'' LDDLFLAGS='\''-shared -L/builddir/build/BUILD/ImageMagick-6.5.4-7/magick/.libs'\''' '--without-dps' '--without-included-ltdl' '--with-ltdl-include=/usr/include' '--with-ltdl-lib=/usr/lib64' 'build_alias=x86_64-redhat-linux-gnu' 'host_alias=x86_64-redhat-linux-gnu' 'target_alias=x86_64-redhat-linux-gnu' 'CFLAGS=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic' 'CXXFLAGS=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic'
COPYRIGHT Copyright (C) 1999-2009 ImageMagick Studio LLC
CPPFLAGS -I/usr/include/ImageMagick
CXX g++
CXXFLAGS -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -Wall -W -pthread
DEFS -DHAVE_CONFIG_H
DELEGATES bzlib fontconfig freetype gs jpeg jng jp2 lcms png rsvg tiff x11 xml wmf zlib
DISTCHECK_CONFIG_FLAGS 'CFLAGS=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic' --disable-deprecated --with-quantum-depth=16 --with-umem=no --with-autotrace=no --with-dps=no --with-fontpath=
EXEC-PREFIX /usr
HOST x86_64-redhat-linux-gnu
LDFLAGS -L/usr/lib64 -lfreetype
LIB_VERSION 0x654
LIB_VERSION_NUMBER 6,5,4,7
LIBS -lMagickCore -llcms -ltiff -lfreetype -ljpeg -lfontconfig -lXext -lSM -lICE -lX11 -lXt -lbz2 -lz -lm -lgomp -lpthread -lltdl
NAME ImageMagick
PCFLAGS -fopenmp
PREFIX /usr
QuantumDepth 16
RELEASE_DATE 2012-05-07
VERSION 6.5.4
WEBSITE http://www.imagemagick.org
知道问题是什么吗?如果要转换为WMF,需要安装libwmf库。如果已经安装,则需要将其指定为可选模块之一。只有在“配置脚本”命令行上指定--with modules时,才会启用WMF。我不知道如何让ImageMagick实现这一点,但我已经成功地以交互方式使用inkscape(即“inkscape-g foo.svg”)以WMF格式保存svg文件。要继续我之前的评论,如果您希望以非交互式方式进行转换,inkscape在内部使用uniconverter,但您可以直接运行:uniconverter image.svg image.wmf