在 Windows 10 上,使用 ImageMagick 转换命令时出现“无效参数 - -fuzz”

在 Windows 10 上,使用 ImageMagick 转换命令时出现“无效参数 - -fuzz”

在最新版本的 Windows 上获取此功能(通过 GitHub Actions):

Command failed: convert.exe "D:\a\stone\stone\build\image.jpg" -fuzz 20% -fill ""#111111"" opaque ""#cc9aff"" "D:\a\stone\stone\build\image.new.jpg"
Invalid Parameter - -fuzz

这是怎么回事?我尝试使用convert而不是convert.exe但问题依然存在。我使用 安装了 ImageMagick choco install imagemagick。日志结尾如下所示:

Download of ImageMagick-7.0.10-19-Q16-x64-dll.exe (32.51 MB) completed.
Hashes match.
Installing imagemagick.app...
imagemagick.app has been installed.
  imagemagick.app can be automatically uninstalled.
Environment Vars (like PATH) have changed. Close/reopen your shell to
 see the changes (or in powershell/cmd.exe just type `refreshenv`).
 The install of imagemagick.app was successful.
  Software installed to 'C:\Program Files\ImageMagick-7.0.10-Q16\'

imagemagick v7.0.10.19 [Approved]
imagemagick package files install completed. Performing other installation steps.
 The install of imagemagick was successful.
  Software install location not explicitly set, could be in package or
  default install location if installer.

Chocolatey installed 3/3 packages. 
 See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log).

有什么想法可以让它工作吗?

答案1

Windows 有一个现有的 convert.exe 程序,用于将 FAT 卷转换为 NTFS。看来在您的 %PATH 中比 ImageMagick convert.exe 更早找到此程序。

您可以通过运行不带任何参数的 convert 来验证这一点。如果您收到消息“必须指定文件系统”,则说明您没有运行 ImageMagick 可执行文件。

如果确实如此,您可以通过指定要运行的可执行文件的完整位置来解决这个问题。我猜是这样的,但可能是:

C:\Program Files\ImageMagick-7.0.10-Q16\bin\convert.exe [parameters...]

您可以将 ImageMagick bin 目录添加到 %PATH,但您需要将其放置在主 Windows 目录之前,以便它在“标准”convert.exe 之前运行,但请注意,IM 文件夹中的任何其他二进制文件也将优先运行。另一个选项是将 IM 目录添加到 %PATH 的末尾(它可能已经在那里了),并将 IM convert.exe 重命名为一个独特的名称。

答案2

您也可以使用magick convert而不是convert

相关内容