使用 HEIC 编译 ImageMagick 时出现的问题

使用 HEIC 编译 ImageMagick 时出现的问题

我遇到了与原始海报类似的问题如何安装 Image Magick 7.0.7 的委托库

  • 构建 7.0.8-37 后无代表。

我安装了所有 240 MB 奇数库和其中包含的第二批库libheif-dev

当我尝试使用单个(大)命令时,它失败并出现“404”错误,因此我使用了 IM 网站上的说明。

“make”失败,

.....
CC       coders/MagickCore_libMagickCore_7_Q16HDRI_la-heic.lo
coders/heic.c: In function ‘WriteProfile’:
coders/heic.c:546:18: warning: implicit declaration of function ‘heif_context_add_exif_metadata’; did you mean ‘heif_image_handle_get_metadata’? [-Wimplicit-function-declaration]
.... etc
 *** [coders/MagickCore_libMagickCore_7_Q16HDRI_la-heic.lo] Error 1
make[1]: Leaving directory '/home/xxxx/imagemagick_build/ImageMagick-7.0.8-39'
Makefile:5761: recipe for target 'all' failed
make: *** [all] Error 

由于没有 iPhone,我决定不需要 HEIC,因此删除libheif-dev并重试。

结果是一个新的 ImageMagick:

Version: ImageMagick 7.0.8-39 Q16 x86_64 2019-04-08 https://imagemagick.org

我现在可以开始玩它了——至少它现在可以显示 jpeg 了。

答案1

希望我经过长时间的努力让 mogrify 启动并运行能够帮助到其他人。

从 Ubuntu 的全新安装中编译支持 HEIC 的 imagemagick:

$ sudo sed -Ei 's/^# deb-src /deb-src /' /etc/apt/sources.list
$ sudo apt-get update
$ sudo apt-get install build-essential autoconf git-core
$ sudo apt-get build-dep imagemagick libde265 libheif
$ cd /usr/src/ 
$ sudo git clone https://github.com/strukturag/libde265.git  
$ sudo git clone https://github.com/strukturag/libheif.git 
$ cd libde265/ 
$ sudo ./autogen.sh 
$ sudo ./configure 
$ sudo make –j4  
$ sudo make install 
$ cd /usr/src/libheif/ 
$ sudo ./autogen.sh 
$ sudo ./configure 
$ sudo make –j4  
$ sudo make install 
$ cd /usr/src/ 
$ sudo wget https://www.imagemagick.org/download/ImageMagick.tar.gz 
$ sudo tar xf ImageMagick.tar.gz 
$ cd ImageMagick-7* 
$ sudo ./configure --with-heic=yes 
$ sudo make –j4  
$ sudo make install  
$ sudo ldconfig  
$ mogrify --version 
# heic should appear in the Delegates line 

其他参考资料:

https://linuxconfig.org/how-to-install-imagemagick-7-on-ubuntu-18-04-linux

https://github.com/ImageMagick/ImageMagick/issues/1470

https://github.com/strukturag/libheif/blob/master/README.md

https://github.com/strukturag/libde265/blob/master/README.md

答案2

我最终使用了IMEI - ImageMagick 轻松安装,它在 Ubuntu 20.04 上运行良好。它可以按如下方式安装(引用自该项目的 GitHub 页面):

一步自动安装

t=$(mktemp) && \
wget 'https://dist.1-2.dev/imei.sh' -qO "$t" && \
bash "$t" && \
rm "$t"

替代安装方法

git clone https://github.com/SoftCreatR/imei && \
cd imei && \
chmod +x imei.sh && \
./imei.sh

答案3

我在 Ubuntu 18.04 下尝试编译最新版本的 ImageMagick 7.0.8 时遇到了同样的问题。解决方案是手动编译并安装最新版本的 libheif这里。之后就编译成功了。记得先卸载Ubuntu默认提供的libheif包,包括libheif和libheif-dev。

答案4

最终得到了这个解决方案(包括我可以安装的所有功能):https://gist.github.com/hurricup/e14ae5bc47705fca6b1680e7a1fb6580

相关内容