Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file ImageMagick命令到vbs或bat_Batch File_Vbscript_Cmd_Imagemagick_Imagemagick Convert - Fatal编程技术网

Batch file ImageMagick命令到vbs或bat

Batch file ImageMagick命令到vbs或bat,batch-file,vbscript,cmd,imagemagick,imagemagick-convert,Batch File,Vbscript,Cmd,Imagemagick,Imagemagick Convert,问题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,如何将其转换为四

问题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张小图片,然后使用+附加功能4次,创建4张小图片? 有什么简单的解决办法吗?如何在批处理文件或vbs文件中实现它

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

非常感谢。

问题2可以通过使用convert命令和crop操作符将图像分割为瓷砖,然后使用蒙太奇命令以不同的顺序重新连接瓷砖来解决

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

创建16个平铺,每个单元一个,图像将命名为output_00.png、output_01.png,依此类推:

convert B1.png -crop 77x145 +repage +adjoin output_%02d.png
创建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
有关裁剪/平铺的详细信息

注:

此解决方案假定所有单元格都具有相同的尺寸 在我的示例中,正确计算瓷砖大小非常重要-裁剪77x145,否则可能会生成超过16个图像,从而导致蒙太奇命令生成错误的结果。
你有什么问题?将该行放在一个名为something.bat的文件中并运行代码-它是否产生错误?您好,是的,它显示错误。convert.exe:选项需要一个参数'-annotate'@error/convert.c/ConvertImageCommand/693。