GraphicsMagick 安装后不支持jpg及png格式图片的解决办法

【字号: 日期:2022-06-21浏览:52作者:雯心

1. 下载最新版GraphicsMagick-1.3.18

2. ./configure 后的结果

GraphicsMagick is configured as follows. Please verify that thisconfiguration matches your expectations.

Host system type : x86_64-unknown-linux-gnuBuild system type : x86_64-unknown-linux-gnu

Option Configure option Configured value-----------------------------------------------------------------Shared libraries --enable-shared=no noStatic libraries --enable-static=yes yesGNU ld --with-gnu-ld=yes yesQuantum depth --with-quantum-depth=8 8

Delegate Configuration:BZLIB --with-bzlib=yes noDPS --with-dps=yes noFlashPIX --with-fpx=no noFreeType 2.0 --with-ttf=yes noGhostscript None gs (unknown)Ghostscript fonts --with-gs-font-dir=default noneGhostscript lib --with-gslib=no noJBIG --with-jbig=yes noJPEG v1 --with-jpeg=yes no (需安装 jpeg delegate library)JPEG-2000 --with-jp2=yes noLCMS --with-lcms=yes noMagick++ --with-magick-plus-plus=yes yesPERL --with-perl=no noPNG --with-png=yes no(需安装 png delegate library)TIFF --with-tiff=yes noTRIO --with-trio=yes noWindows fonts --with-windows-font-dir= noneWMF --with-wmf=yes noX11 --with-x= noXML --with-xml=yes noZLIB --with-zlib=yes yes

make

sudo make install

3.Delegate Library安装

JPEG delegate library

> gm convert 470f1bb8c5a98.jpg -resize 100x100 out.jpg

gm convert: No decode delegate for this image format (470f1bb8c5a98.jpg).

官方建议:This exception indicates that an external delegate library or its headers were not available when ImageMagick was built. To add support for the image format, download and install the requisite delegate library and its header files and reconfigure, rebuild, and reinstall ImageMagick. As an example, lets add support for the JPEG image format. First we install the JPEG RPMS:

原因是没有安装jpeg的包,这个可以在之前configure的结果中看出来,此时GraphicsMagick需要重新configure及build。

1)在GraphicsMagick官方网站提供的delegates下载页面中找到jpeg的包:libjpeg-6b.tar.gz。

2)安装jpeg delegate library. configure -> make -> sudo make install

3)重新安装GraphicsMagick (configure时会发现jpeg已安装)

PNG delegate library

gm convert: No decode delegate for this image format (ben3.png).

1)在GraphicsMagick官方网站提供的delegates下载页面下载libpng-1.6.2.tar.gz。

2)安装png delegate library. configure -> make -> sudo make install

3)重新安装GraphicsMagick (configure时会发现png已安装)

注: 由于之前安装过一次libpng-1.5.2,rm /usr/local/lib/libpng*,在重新安装了1.4.7后,仍有错误:gm: error while loading shared libraries: libpng14.so.14: cannot open shared object file: No such file or directory.

运行sudo ldconfig进行自动清理。

特别说明:

如果系统之前已经下载安装了其他版本的libpng和jpeg,可以参考这篇文章在配置GM的时候去配置相关参数:Linux下编译安装GraphicsMagick及PHP扩展gmagick

相关文章: