为了账号安全,请及时绑定邮箱和手机立即绑定

如何在节点中使用 Imagemagick 调整图像大小并降低 DPI

如何在节点中使用 Imagemagick 调整图像大小并降低 DPI

隔江千里 2021-06-11 14:09:08
我正在尝试使用包一次调整图像大小并降低其 DPI。我使用 im.convert() 而不是 im.resize() 因为我还有其他需要指定的选项。我试图将一个包含所有选项的数组传递给 im.convert(),但我收到一条错误消息:“错误:命令失败:参数无效 - -units”const inputPath = "E:\PC\lister\uploads\dbmid_AAAeU6UkAOHoUmq6t25RPjK6g1sfK6gn7fg\Clients\Matt\2019-06-10T03-32-02.385Z45.jpg";'const outputPath= "E:\PC\lister\uploads\dbmid_AAAeU6UkAOHoUmq6t25RPjK6g1sfK6gn7fg\Clients\Matt\Web\2019-06-10T03-32-02.385Z45.jpg";const args = [    inputPath,    "-units",    "pixelsperinch",    "-density",    "75x75",    "-resize",    "1920",    outputPath]im.convert(args, function(err, stdout, stderr) {    if(err) console.log(err)});我期待在我在outputPath上面指定的名为“web”的文件夹中使用 75dpi 调整大小的图像。但我收到一条错误消息“错误:命令失败:参数无效 - -units”
查看完整描述

1 回答

?
收到一只叮咚

TA贡献1821条经验 获得超4个赞

您错误地运行了 Microsoft 提供的程序CONVERT.EXE,该程序将 FAT 文件系统转换为 NTFS(或类似的东西),而不是您想要的ImageMagick命令。根据您要使用的ImageMagick版本,解决方案可能会有所不同。


如果您想使用ImageMagick v7(这是最好且明智的想法),命令已更改如下:


Old v6 command |  New v7 command

===============|================

identify       | magick identify

animate        | magick animate

montage        | magick montage

convert        | magick

mogrify        | magick mogrify    

因此,您需要更改您的 Javascript 以使用magick而不是convert.


如果要使用 v6 ImageMagick,则需要继续使用,convert但要确保 Windows 找到ImageMagick convert而不是 Windows C:\WINDOWS\SYSTEM32\CONVERT.EXE。您可以通过显式运行完整的ImageMagick命令来做到这一点,因此convert您可以使用大致如下所示的完整路径,而不是普通路径:


C:\ImageMagick\ImageMagick-6.7.6\convert ...

或者您PATH在某个 GUI 窗口中设置您的(我避免使用 Windows,但它类似于Settings-> Control Panel-> System-> Environment Variables-> PATH)并使包含 ImageMagick 的目录位于最前面,以便 Windows 在其自己之前找到 ImageMagick CONVERT.EXE:


PATH=C:\ImageMagick\ImageMagick-6.7.6:<REST OF PATH>


查看完整回答
反对 回复 2021-06-24
  • 1 回答
  • 0 关注
  • 269 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信