Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.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 如何在cmd中使用magick将一个图像序列淡入另一个图像序列?_Batch File_Cmd_Imagemagick - Fatal编程技术网

Batch file 如何在cmd中使用magick将一个图像序列淡入另一个图像序列?

Batch file 如何在cmd中使用magick将一个图像序列淡入另一个图像序列?,batch-file,cmd,imagemagick,Batch File,Cmd,Imagemagick,我是magick库的新手,而且这个cmd语法让我很伤心。我正在努力实现以下目标: 我有2个文件夹,每个文件夹包含100个png文件。我想渲染这些图像之间的平滑过渡,如下所示: 第一个文件夹中的第一个图像应与第二个文件夹中的第一个图像重叠,不透明度为1% 第一个文件夹中的第45幅图像应与第二个文件夹中的第45幅图像重叠,不透明度为45%,依此类推 我的文件命名为frame000.png、frame045.png(用零填充),这使问题更加复杂 我尝试在批处理脚本中结合for循环和magick命令来实

我是magick库的新手,而且这个cmd语法让我很伤心。我正在努力实现以下目标:

我有2个文件夹,每个文件夹包含100个png文件。我想渲染这些图像之间的平滑过渡,如下所示:

第一个文件夹中的第一个图像应与第二个文件夹中的第一个图像重叠,不透明度为1%

第一个文件夹中的第45幅图像应与第二个文件夹中的第45幅图像重叠,不透明度为45%,依此类推

我的文件命名为frame000.png、frame045.png(用零填充),这使问题更加复杂

我尝试在批处理脚本中结合for循环和magick命令来实现这一点,但似乎什么都没有发生,当我运行它时,它只是将此文本打印到cmd窗口100次:

SET NUM=x SET PADDED=00NUM SET PADDED=PADDED:~-3 magick composite -dissolve PADDEDPADDEDPADDEDPADDED.png
我认为问题出在我的批处理语法中,但我无法解决它。以下是我在render.bat中的内容:

FOR /L %%x IN (0,1,99) DO ^
SET NUM=%x ^
SET PADDED=00%NUM% ^
SET PADDED=%PADDED:~-3% ^
magick composite -dissolve %x -gravity Center "frl1/frame%PADDED%.png" "frl2/frame%PADDED%.png" -alpha SET "output/%PADDED%.png"
pause
我尝试将变量引用更改为
%x
%x
%x%
,但没有一个变量给出正确的结果。

您的
^
表示“行继续”-批处理文件不是这样工作的

你需要:


(注意:我删除了一个不必要的变量)

看起来该变量在字符串中不起作用,现在magick在每次迭代时都会抛出此错误:
无法打开图像“frl1/!软垫!。png“[…]”
请重试。添加了一行。我只是注意到了链接并阅读了它,它很有效。谢谢你的回答!
Setlocal enabledelayedexpansion
FOR /L %%x IN (0,1,99) DO (
  SET PADDED=00%%x
  SET PADDED=!PADDED:~-3!
  magick composite -dissolve %%x -gravity Center "frl1/frame!   PADDED!.png" "frl2/frame!PADDED!.png" -alpha SET "output/!PADDED!.png"
)
pause