更新的答案
请注意,自从我写了这个答案以来,事情发生了一些变化,Homebrew 不再支持安装选项,例如--with-x11
. @MattWhite 在评论中指出的一种可能性是交互式安装ImageMagick:
brew install imagemagick -i;
./configure --disable-osx-universal-binary --prefix=/usr/local/Cellar/imagemagick/7.0.8-66 --disable-silent-rules --with-x11
make install
exit
我想到的另一个选择是,您可以添加自己的使用 macOS 内置Preview
应用程序的委托并告诉ImageMagick使用它,即委托给它,而不是安装所有 XQuartz。这意味着您可以执行以下操作:
magick SomeImage.png -crop 100x100+10+10 display:
为此,您需要找到您的delegates.xml
文件。我用这个:
magick -list delegate | awk '/^Path/ {print $2}'
我的在:
/opt/homebrew/Cellar/imagemagick/7.1.0-16/etc/ImageMagick-7/delegates.xml
然后我编辑了该文件并在非常接近结尾处添加了一行,但就在最后一行的上方,如下所示:
<delegate decode="miff" encode="display" spawn="True" command="magick %i %u.png ; /usr/bin/open -a Preview %u.png"/>
这会将ImageMagick知道的任何文件格式转换为应用程序可以理解的 PNG,Preview
并且应该能够表示大多数图像,即使是具有 16 位深度和透明度的图像。
原始答案
一般来说,要在 X11 中使用ImageMagick,如果您遵循以下步骤,您可能最有可能成功:
第 1 步 - 安装或更新 Xcode 命令行工具
重要的是您的开发人员工具是最新的,尤其是如果您在最初设置它们后更新了macOS版本。你可以这样做:
xcode-select --install
第 2 步 - 确保正确安装 ImageMagick
最简单的方法是首先确保删除和清理旧版本的 ImageMagick,然后使用最新版本安装(或重新安装):
brew update # update homebrew itself
brew rm imagemagick # remove old IM versions
brew install imagemagick --with-x11 # install latest IM version including X11 support
第 3 步 - 检查
如果您多年来一直在尝试安装 ImageMagick,您可能已经留下了一些旧版本。使用 homebrew 安装的版本很重要/usr/local/bin
,因此请检查您是否正在运行您期望的版本,如下所示:
which convert # should report "/usr/local/bin/convert"
which magick # should report "/usr/local/bin/magick"
identify -version # should report same version as next command
brew info imagemagick
第 4 步 - 启动 X11
启动 X11,它可能是最容易启动的xclock
,它不仅会启动 X11,还会检查 X11 正在运行的所有内容以及您的 X11 环境是否配置正确:
xclock &
第 5 步 - 运行 ImageMagick X11
现在您可以测试您的ImageMagick配置,不需要任何测试图像,如下所示 - 因为wizard:
图像是内置的:
display wizard: