【问题标题】:ImageMagick cmd to vbs or batImageMagick cmd 到 vbs 或 bat
【发布时间】:2014-02-26 14:52:58
【问题描述】:

问题 1:

对于问题 1: 如何使以下代码在bat文件或vbs文件中运行?

convert *.png -set filename:f "AAAA_%t.png" %[filename:f]

它在命令行中工作,但在.bat中失败,它显示

convert.exe: missing an image filename `AAAA_[filename:f]' @ error/convert.c/ConvertImageCommand/3144.

问题 2:

图片如下:

我有一个 B1.png,如何将其转换为四个小图像? 先把大的剪成16个小块,然后用+append函数4次创建4个小图? 有什么简单的解决方案吗?如何在批处理文件或 vbs 文件中实现?

非常感谢。

【问题讨论】:

  • 你有什么问题?将该行放在一个名为 something.bat 的文件中并运行代码 - 它会产生错误吗?
  • 嗨,是的,它显示错误。 “convert.exe:选项需要一个参数'-annotate'@error/convert.c/ConvertImageCommand/693。”

标签: batch-file vbscript cmd imagemagick imagemagick-convert


【解决方案1】:

问题 2 可以使用 convert 命令和 crop 运算符将图像划分为图块,然后使用 montage 命令以不同的顺序重新加入图块来解决。

您必须调整图块大小(我使用的是 77x145),但这里有一个关于如何继续的提示:

  1. 创建 16 个图块,每个单元格一个(图像将命名为 output_00.png、output_01.png 等):

    convert B1.png -crop 77x145 +repage +adjoin output_%02d.png
    
  2. 创建 4 张图片,每行一张图片以新顺序 (A1,B1,C1,D1) (A2,B2,C2,D2) (A3,B3,C3,D3) (A4,B4, C4,D4):

    montage -mode concatenate -tile 4x output_00.png output_04.png output_08.png output_12.png S1.png
    montage -mode concatenate -tile 4x output_01.png output_05.png output_09.png output_13.png S2.png
    montage -mode concatenate -tile 4x output_02.png output_06.png output_10.png output_14.png S3.png
    montage -mode concatenate -tile 4x output_03.png output_07.png output_11.png output_15.png S4.png
    

如果您想在批处理文件中使用这些命令,您必须在第一个命令中转义 %,因此您的批处理文件应如下所示:

convert B1.png -crop 77x145 +repage +adjoin output_%%02d.png
montage -mode concatenate -tile 4x output_00.png output_04.png output_08.png output_12.png S1.png
montage -mode concatenate -tile 4x output_01.png output_05.png output_09.png output_13.png S2.png
montage -mode concatenate -tile 4x output_02.png output_06.png output_10.png output_14.png S3.png
montage -mode concatenate -tile 4x output_03.png output_07.png output_11.png output_15.png S4.png

更多关于裁剪/平铺的信息here

注意事项:

  1. 此解决方案假定您的“单元格”都具有相同的尺寸
  2. 正确计算图块大小(在我的示例中为 -crop 77x145)非常重要,否则可能会生成超过 16 张图像,从而导致蒙太奇命令生成错误的结果。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多