【问题标题】:Create two output images in one command in ImageMagick在 ImageMagick 中的一个命令中创建两个输出图像
【发布时间】:2020-04-01 09:28:48
【问题描述】:

我有这个运行良好的代码,它可以创建 3x3 瓷砖、锐化并添加水印。

input.jpg -resize 300x250 -write mpr:tiler +delete -size 900x750 tile:mpr:tiler -sharpen 0x.7 wartermark.png -gravity southeast -geometry +0+0 -composite output1.jpg

除了保存这个结果,我希望它进行一个 750x750px 的裁剪(拇指),缩放到 100x100px 并保存为 output2.png。

我已经尝试了很多,但无法让它发挥作用。裁剪中的偏移量为 +0+0 即可。

编辑:我想添加如下内容:

... -crop 750x750+0+0 -resize 100x100 output2.jpg

【问题讨论】:

    标签: command-line imagemagick thumbnails


    【解决方案1】:

    在 Imagemagick 中,如果您使用括号处理、克隆和 +write 的组合,您可以输出多个图像。在这种情况下,正如 Mark Setchell 指出的那样,您只需要 write 命令。这是您的代码,如下所示。我已包含您对裁剪和调整大小的请求。

    对于带有 IM 7 的 Windows

    magick input.jpg -resize 300x250 -write mpr:tiler +delete -size 900x750 tile:mpr:tiler -sharpen 0x.7 wartermark.png -gravity southeast -geometry +0+0 -composite +write output1.jpg -gravity center -crop 750x750+0+0 +repage -resize 100x100 output2.jpg
    


    如果使用 Imagemagick 6,请将 magick 替换为 convert。

    【讨论】:

    • 为什么是parentheses clone thumbnail write close parentheses null 而不仅仅是thumbnail output2.jpg?只是想理解。
    • 不管有没有括号,它都不起作用。我在 Windows 10 上使用 Imagemagick 7。我应该能够在 output1.jpg 写入后直接处理缩略图吗?
    • 试试我修改过的代码,现在你已经指定了你想要的 output2 和你的 IM 版本和平台。请注意,当您说要以 750x750 进行裁剪时,您的输入图像不是方形的。所以第二个输出 2 的纵横比与输出 1 不同。
    • 马克,你是对的。它不是必需的。我经常这样做只是为了清楚起见,就像imagemagick.org/Usage/files/#write 的情况一样。我将更正我的答案以使其更简单。
    • 还是不行。无论我在保存 output1.jpg 后放什么,都会破坏整个处理过程。它甚至不保存输出1。
    猜你喜欢
    • 1970-01-01
    • 2021-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-20
    • 2013-09-23
    相关资源
    最近更新 更多