无法使用Imagemagick将SVG转换为WMF

时间:2022-01-14 09:00:23

I'm trying to convert an image in SVG format to WMF using PHP and Imagick under Linux. I can convert images from SVG to PNG successfully, but not from SVG to WMF. I get no PHP errors, just a NULL image. I suspect that I may have an installation/configuration problem because when I try to use the ImageMagick 'convert' command, I get the following error.

我正在尝试使用PHP和Imagick在Linux下将SVG格式的图像转换为WMF。我可以成功地将图像从SVG转换为PNG,但不能从SVG转换为WMF。我没有PHP错误,只是一个NULL图像。我怀疑我可能有安装/配置问题,因为当我尝试使用ImageMagick'convert'命令时,我收到以下错误。

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

However, the wmf delegate seems to be correclty registered

但是,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

Any idea what the problem might be?

知道问题可能是什么吗?

1 个解决方案

#1


1  

If you want to convert to WMF, you need to install the libwmf library. If you already installed it, you need to specify it as one of the optional modules. WMF is only enabled if you specify --with-modules on the configure script command line.

如果要转换为WMF,则需要安装libwmf库。如果已安装它,则需要将其指定为可选模块之一。仅当您在configure脚本命令行中指定--with-modules时,才会启用WMF。

#1


1  

If you want to convert to WMF, you need to install the libwmf library. If you already installed it, you need to specify it as one of the optional modules. WMF is only enabled if you specify --with-modules on the configure script command line.

如果要转换为WMF,则需要安装libwmf库。如果已安装它,则需要将其指定为可选模块之一。仅当您在configure脚本命令行中指定--with-modules时,才会启用WMF。