joh*_* j. 4 windows imagemagick image-processing
要使用旧版本的 ImageMagick 创建图像缩略图,可以通过以下方式:
(为了帮助进一步参考,示例已编号。)
1. convert.exe image.jpg -thumbnail 100x100 ./converted/converted_image.jpg
2. mogrify.exe -thumbnail 100x100 -path ./converted image.png
Run Code Online (Sandbox Code Playgroud)
现在我有了 ImageMagick 7(昨天才下载的),在安装过程中我特意关闭了“安装旧版实用程序(例如 convert.exe)”复选框。也就是说,我的 ImageMagick 目录中只有一个实用程序:magick.exe.
我试图了解根据现代 ImageMagick 版本执行上述操作的正确且面向未来的方法是什么。
引自https://imagemagick.org/script/porting.php#cli:
animate,compare,composite,conjure,convert,display,identify,import,mogrify,montage,stream为了减少命令行实用程序的占用空间,这些实用程序是指向
magick实用程序的符号链接。您也可以从magick实用程序中调用它们,例如magick convert logo: logo.png用于调用magick实用程序。
在同一来源:
使用由
magick实用程序激活的 IMv7 解析器,设置将依次应用于内存中的每个图像(如果有)。而一个选项:只需要全局应用一次。直接使用其他实用程序,或作为magickCLI的参数(例如magick convert)利用旧式解析器。
唔...
作品:
3. magick.exe convert image.jpg -thumbnail 100x100 ./converted/converted_image.jpg
4. magick.exe mogrify -thumbnail 100x100 -path ./converted image.png
Run Code Online (Sandbox Code Playgroud)
仍然有效(与 相同的方式magick.exe convert):
5. magick.exe image.jpg -thumbnail 100x100 ./converted/converted_image.jpg
Run Code Online (Sandbox Code Playgroud)
但是,以下一个不起作用(预期:应该以与 相同的方式工作magick.exe mogrify):
6. magick.exe -thumbnail 100x100 -path ./converted image.png
Run Code Online (Sandbox Code Playgroud)
我的问题是:我应该使用哪种语法 forconvert和 for mogrify?3 和 4,或 4 和 5,或不同的东西?
AFAIK,我很高兴添加任何建议的更正,它的工作原理是这样的。
第一个想法是,如果可能,您应该使用版本 7,并且所有旧的 v6 命令,WITH THE EXCEPTION OF convert应该以magick. 这意味着你应该使用这些
magick ... # in place of `convert`
magick identify ... # in place of `identify`
magick mogrify ... # in place of `mogrify`
magick compare ... # in place of `compare`
magick compose ... # in place of `compose`
Run Code Online (Sandbox Code Playgroud)
如果你使用magick convert你会得到旧的 v6 行为,所以你想避免这种情况!
此外,v7 对排序更加挑剔。你必须在做之前指定你想要做的事情的图像。这意味着旧的 v6 命令,例如:
convert -trim -resize 80% input.jpg output.jpg
Run Code Online (Sandbox Code Playgroud)
现在必须变成:
magick input.jpg -trim -resize 80% output.jpg # magick INPUT operations OUTPUT
Run Code Online (Sandbox Code Playgroud)
因此,专门查看您的编号示例:
应该变成:
magick image.jpg -thumbnail 100x100 ./converted/converted_image.jpg
应该变成:
magick mogrify -thumbnail 100x100 -path ./converted image.png
调用旧的 v6 行为,因为您使用magick convert而不是 plain magick,应该避免
正确的现代语法
正确的现代语法
看起来你的意思是magick mogrify因为你没有给出输入和输出文件名,因为你使用了-path,但看起来你不小心省略了mogrify. 如果您没有不小心省略mogrify,那么您可能打算使用旧式convert命令,并且需要一个输入和一个输出文件,并且您需要在-thumbnail.
关键词:用法、错误、现代、v7 语法、素数。