在Windows上使用ImageMagick运行“convert”

4

我安装了ImageMagick并在安装目录中看到了几个.exe文件(dcraw、ffmpeg、hp2xx和magick)。

但是我看到的大多数示例都像这样,使用“convert”命令。

 convert -define jpeg:size=200x200 hatching_orig.jpg -thumbnail '100x100>' \
          -background skyblue -gravity center -extent 100x100 pad_extent.gif

我很不清楚magick.exe是否替换了convert,或者convert是magick.exe的子命令。
这是我的尝试和回应:
"c:\Program Files\ImageMagick-7.0.7-Q16\magick.exe" -define jpeg:size=510x510 Sacred_Geometry_Flower_Of_Life_BlueGreen_Test1.jpg -thumbnail '100x100>'-background skyblue -gravity center -extent 100x100 pad_extent.gif
magick.exe: unable to load module 'C:\Program Files\ImageMagick-7.0.7-Q16\modules\coders\IM_MOD_RL_JPEG_.dll': The specified module could not be found.
 @ error/module.c/OpenModule/1275.
magick.exe: no decode delegate for this image format `JPEG' @ error/constitute.c/ReadImage/509.

在IM 7中,Magick替换了convert,但对于其他功能(如identify、mogrify和montage),您必须在它们之前加上Magick。我不是Windows用户,但看起来您没有正确安装IM。我怀疑您没有在此情况下安装所有所需的委托,例如libjpeg。您是如何安装IM的?您是从ImageMagick二进制文件还是源代码安装的?如果是后者,则最好从二进制文件安装。也许在安装程序中有一些开关可以安装您没有检查的委托。上面的第一个命令是IM 6的Unix语法。 - fmw42
我认为Windows也不喜欢单引号('),因此请用双引号(")替换它们。 - Mark Setchell
如果您想使用以“convert”开头的旧版ImageMagick命令,您必须在安装时勾选名为“安装遗留命令”的框。正如Fred所说,convert ...变成了magick ...identify ...变成了magick identify ...mogrify ...变成了magick mogrify ...。这些更改是为了减少名称空间的污染,并避免与一个麻烦的Windows命令发生冲突,该命令也称为CONVERT.EXE,用于将FAT文件系统转换为NTFS。 - Mark Setchell
如果您允许ImageMagick将自己添加到环境路径中,您可以使用magick替换“c:\ Program Files \ ImageMagick-7.0.7-Q16 \ magick.exe”。 - Bonzo
2个回答

4
在安装时,我没有勾选下面圈出来的框: enter image description here 我仍然不清楚是否可以使用 magick.exe convert,但所有示例都只显示运行 convert
第二个问题是安全性;我在另一个stackoverflow上找到了答案,但现在我找不到它的URL。他们建议将user=everyone设为Windows安装目录的完全控制权限。这不是一件好事,但当时我更关心快速解决问题。
@Mark在上面的评论中提到了引号。我以为他指的是目录名称周围的引号,但事实证明,-thumbnail参数需要使用双引号而不是单引号(至少在Windows上)。

没有 ImageMagick.exe 可用,应该使用 magick.exe 或 convert.exe。我不建议同时使用这两个程序,magick.exe 将运行 IM 7,而 convert.exe 将运行 IM 6。在其他命令(例如 identify、mogrify 等)前加上 magick.exe 将以 IM 7 运行这些命令。如果省略 magick.exe,则将使用 IM 6 运行这些命令。magick.exe convert 可能与 convert.exe 相同。我不使用 Windows,所以不确定需要 .exe 文件的位置。 - fmw42

2
你已将Imagemagick添加到系统路径中,因此只需使用magick命令即可。你还没有安装传统文件,因此不能使用convert命令。请勿在任何地方使用'',而是使用""。在Linux系统上,使用""仍然有效。\ 是Linux的行继续符,我认为你应该使用^。 我安装了Imagemagick,它可以正常工作;无需更改权限等操作。
以下代码应该可以正常运行:
magick -define jpeg:size=200x200 hatching_orig.jpg -thumbnail 100x100> -background skyblue -gravity center -extent 100x100 pad_extent.gif

为什么不先尝试一些简单的东西来证明它能够工作呢?
magick hatching_orig.jpg pad_extent.gif

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接