2013-06-28 120 views
4

我想在Linux下使用PHP和Imagick將SVG格式的圖像轉換爲WMF。我可以將圖像從SVG轉換成PNG,但不能從SVG轉換爲WMF。我沒有得到PHP錯誤,只是一個NULL圖像。我懷疑我可能有安裝/配置問題,因爲當我嘗試使用ImageMagick'convert'命令時,出現以下錯誤。無法將SVG轉換爲WMF與Imagemagick

> convert image.svg image.wmf 
convert: no encode delegate for this image format `image.wmf' @ constitute.c/WriteImage/1114. 

然而,WMF代表似乎correclty註冊

> 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 

任何想法,問題可能是什麼?

+0

我不知道如何讓ImageMagick工作,但我已經成功地使用inkscape以交互方式(即「inkscape -g foo.svg」)來保存WMF格式的SVG文件。 – Eric

+0

爲了跟進我以前的評論,如果你想以非交互方式進行轉換,inkscape在內部使用uniconverter,但你可以直接運行:uniconverter image.svg image.wmf – Eric

回答

1

如果你想轉換爲WMF,你需要安裝libwmf庫。如果您已經安裝了它,則需要將其指定爲可選模塊之一。只有在configure腳本命令行中指定--with-modules,才能啓用WMF。