安装 Imagemagick 后,我用 jpg 图像进行了测试,如下所示:
identify 1.jpg
但是,我得到了这样的结果:
identify: no decode delegate for this image format `1.jpg' @ error/constitute.c/ReadImage/550.
然后,我尝试通过以下方式添加对 JPEG 格式的支持:
yum install libjpeg libjpeg-devel
但是,我得到了:
Setting up Install Process
No package libjpeg available.
No package libjpeg-devel available.
Nothing to do
我认为我需要更新 apt-get,我这样做了:
apt-get install libjpeg libjpeg-devel
但是,我得到了:
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package libjpeg
E: Unable to locate package libjpeg-devel
有没有简单的方法来安装这些库?我正在使用 Ubuntu 12.04。
答案1
我通过从源代码安装可用的 jpeg 编码库来修复这个问题http://www.ijg.org/files/jpegsrc.v8c.tar.gz。
cd /usr/local/src
tar xvfz jpeg-8c.tar.gz
cd jpeg-8c
./configure --enable-shared --prefix=$CONFIGURE_PREFIX
make
sudo make install
然后我从源代码重新安装了 ImageMagick:
cd /usr/local/src
tar xvfz ImageMagick-6.6.9-5.tar.gz
cd ImageMagick-6.6.9-5
export CPPFLAGS=-I/usr/local/include
export LDFLAGS=-L/usr/local/lib
./configure --prefix=/usr/local --disable-static --with-modules --without-perl --without-magick-plus-plus --with-quantum-depth=8 --disable-openmp
make
sudo make install
现在它可以工作了,我已经像这样测试过了:
sam@ubuntu:~/RubymineProjects/project/tmp$ identify 1.jpg
1.jpg JPEG 128x106 128x106+0+0 8-bit sRGB 2.22KB 0.000u 0:00.000
答案2
如果您决定从源代码构建 ImageMagick,则需要准备好手动解决所有依赖关系。除非您有迫切需要,否则您应该从存储库(官方存储库或 PPA)安装 Ubuntu 上的所有软件。
如果您使用 APT(、Synaptic、Software Center 等)安装 Imagemagick apt-get
,那么 JPG 文件将可以正常工作,正如我在我的计算机上所确认的那样。
如果您从源代码构建的目的是为了获得较新的版本,请寻找跟踪最新版本的 PPA。如果您从源代码构建是为了帮助开发,那么您应该从 Imagemagick 人员那里了解成功从源代码构建所需的条件。您可能需要./configure
在运行之前指定一些标志或安装一些开发库./configure
。
但通常情况下,从源代码构建只会使事情变得复杂化。
哦,顺便说一句,Red Hat 和 Ubuntu 对软件包使用不同的名称。因此,如果yum
您抱怨缺少软件包,那么找不到该名称的软件包也就不足为奇了apt-get
。除非您有充分的理由,否则不应在系统上混合使用软件包管理器。即使如此,也请先尝试其他所有选项。
答案3
请注意,no decode delegate
错误可能是由于 imagemagick(或其某个部分)未找到文件而导致的(相当令人困惑)。因此,在运行重新安装 imagemagick 之前,请检查identify -list format
是否convert -list configure
支持 JPEG 格式,如果支持,则问题可能出在其他地方。
例如,convert -resize 50% foo\ bar.jpg
给了我一个no decode delegate for this image format
错误,但convert -resize 50% 'foo bar.jpg'
运行正常。
答案4
你有没有尝试过 :
sudo apt-get 安装 libjpeg62
如果上述命令不起作用,请按照以下链接操作。
http://psx-scene.com/forums/f150/help-install-libjpeg-libpng-ubuntu-9-10-livecd-64122/
如果这有帮助的话,请让他们知道,祝你好运...:)