【问题标题】:Running "convert" from ImageMagick on Windows在 Windows 上从 ImageMagick 运行“转换”
【发布时间】:2018-01-25 02:57:43
【问题描述】:

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

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

 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,但对于其他功能,如识别、mogrify 和 montage,您必须将 magick 放在它们之前。我不是 Windows 用户,但您似乎没有正确安装 IM。我怀疑在这种情况下您没有安装所有需要的委托 libjpeg。你是如何安装 IM 的?如果来自 ImageMagick 二进制文件或源代码,您是这样做的吗?如果是后者,那么您最好从二进制文件安装。安装程序中可能有一些开关用于安装您未检查的委托。上面的第一个命令是 IM 6 的 Unix 语法。
  • 我认为 Windows 也不喜欢单引号 ('),所以用双引号 (") 替换。
  • 如果您希望能够使用以convert 开头的旧式ImageMagick 命令,您必须勾选/选中名为"Install legacy命令” 安装时。正如 Fred 所说,convert ... 变为 magick ...identify ... 变为 magick identify ...mogrify ... 变为 magick mogrify ...。引入这些更改是为了减少对命名空间的污染,并避免与讨厌的 Windows 命令发生冲突,该命令也称为 CONVERT.EXE,它将 FAT 文件系统转换为 NTFS。
  • 如果你让 imagemagick 自己添加到环境路径中,你可以用 magick 替换“c:\Program Files\ImageMagick-7.0.7-Q16\magick.exe”

标签: imagemagick


【解决方案1】:

在安装时,我没有选中下面圈出的框:

我仍然不清楚我是否可以说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。在其他命令(如识别、mogrify 等)前面加上 magick.exe 将运行 IM 7。离开 magick.exe 将使用 IM 6 运行那些其他命令。 magick.exe convert 可能与 convert.exe 相同。我不使用 Windows,所以不确定在哪里需要 .exe。
【解决方案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

【讨论】:

    猜你喜欢
    • 2016-02-11
    • 2011-06-14
    • 1970-01-01
    • 2014-01-30
    • 2014-04-19
    • 1970-01-01
    • 2015-09-15
    • 2012-02-19
    • 1970-01-01
    相关资源
    最近更新 更多