在Linux(Ubuntu)上,我能够使用此命令追加两个GIF动画(相同大小,相同数量的帧):
convert file1.gif'[0]' -coalesce \\( file2.gif'[0]' -coalesce \\) \\
+append -channel A -evaluate set 0 +channel \\
file1.gif -coalesce -delete 0 \\
null: \\( file2.gif -coalesce \\) \\
-gravity East -layers Composite output.gif
您也可以在此处找到此命令:Animation Modifications。
在Windows上,此命令不起作用。它会产生错误:
convert torusEnlargingSpheres3.gif'[0]' -coalesce \\( torusEnlargingSpheres6.gif'[0]' -coalesce \\) +append -channel A -evaluate set 0 +channel torusEnlargingSpheres3.gif -coalesce -delete 0 null:: \\( torusEnlargingSpheres6.gif -coalesce \\) -gravity East -layers Composite output.gif
convert.exe: UnableToOpenBlob `torusEnlargingSpheres3.gif'[0]'': No such file or directory @ error/blob.c/OpenBlob/2701.
convert.exe: NoDecodeDelegateForThisImageFormat `GIF'[0]'' @ error/constitute.c/ReadImage/504.
convert.exe: UnableToOpenBlob `\\(': No such file or directory @ error/blob.c/OpenBlob/2701.
convert.exe: NoDecodeDelegateForThisImageFormat `' @ error/constitute.c/ReadImage/504.
convert.exe: UnableToOpenBlob `torusEnlargingSpheres6.gif'[0']': No such file or directory @ error/blob.c/OpenBlob/2701.
convert.exe: NoDecodeDelegateForThisImageFormat `GIF'[0']' @ error/constitute.c/ReadImage/504.
convert.exe: UnableToOpenBlob `\\)': No such file or directory @ error/blob.c/OpenBlob/2701.
convert.exe: NoDecodeDelegateForThisImageFormat `' @ error/constitute.c/ReadImage/504.
convert.exe: UnableToOpenBlob `\\(': No such file or directory @ error/blob.c/OpenBlob/2701.
convert.exe: NoDecodeDelegateForThisImageFormat `' @ error/constitute.c/ReadImage/504.
convert.exe: UnableToOpenBlob `\\)': No such file or directory @ error/blob.c/OpenBlob/2701.
convert.exe: NoDecodeDelegateForThisImageFormat `' @ error/constitute.c/ReadImage/504.
为了在Windows上使用此命令,我应该更改什么?
此命令不会生成错误,但不会附加图像:
convert file1.gif"[0]" -coalesce ^( file2.gif"[0]" -coalesce ^) +append -channel A -evaluate set 0 +channel file1.gif -coalesce -delete 0 null:: ^( file2.gif -coalesce ^) -gravity East -layers Composite output.gif
答案 0 :(得分:3)
Windows上的引用与Unix不同。以下是有关如何从Linux引用转换为Window引用的一些想法。请注意,大多数在线ImageMagick示例都是使用Linux样式引用,因此这对任何Windows用户都特别相关。
<强> 1。线路延续
在Linux上,反斜杠用作行继续符,但Windows使用插入符号(^
),所以这个(Linux):
convert image.png image.png \
+append result.png
变为此(Windows):
convert image.png image.png ^
+append result.png
<强> 2。用双引号替换单引号
在Linux上,参数可以用单引号引用,但在Windows上,需要双引号,所以这个(Linux):
convert 'image with spaces.png' info:
变为此(Windows):
convert "image with spaces.png" info:
第3。转到Windows时需要转义某些字符
在Linux上,某些字符需要通过在它们之前使用反斜杠来转义,例如(
,)
,!
,但这在Windows上是不必要的,所以这个(Linux):
convert image.png \( image.png -negate \) +append result.png
变为此(Windows):
convert image.png ( image.png -negate ) +append result.png
<强> 4。加倍百分号
从Linux升级到Windows时加倍百分号,所以这个(Linux):
convert xc:"gray(128)" -depth 8 -threshold 51% txt:
变为此(Windows):
convert xc:"gray(128)" -depth 8 -threshold 51%% txt:
<强> 5。转到Windows时需要转义一些字符
某些角色需要在它们之前添加插入符号才能在迁移到Windows时转义它们,例如|
,&
,>
和<
,所以这(Linux) :
convert image.png -resize 1024x768\> result.png
变为此(Windows):
convert image.png -resize 1024x768^> result.png
<强> 6。留意评论
哈希符号(#
)在Linux中引入了注释,这些注释可能最好删除并放在其他地方,所以这个(Linux):
convert input.png -auto-level result.png # comment
可能成为其中任何一个(Windows):
convert input.png -auto-level result.png
convert input.png -auto-level result.png :: comment
如果您发现任何其他情况,或者我的任何情况不正确,或者可以更好地解释,请通过评论告诉我,我会尽量保持名单正确,作为其他人的参考。< / p>
答案 1 :(得分:2)
我可能用这样的东西模拟“+追加”......
读入file1 GIF,合并并设置其页面几何图形以将其扩展到右侧宽度的两倍。再次合并以创建额外的画布区域。
然后包含“null:”以将file1帧与file2帧分开。
然后读入file2 GIF并合并它。
通过将重力设置为东并使用“-layers composite”将每个file2帧合并到其伙伴file1帧的扩展区域来完成。设置延迟和“-loop 0”,并命名输出文件。
执行此操作的命令看起来像这样......
convert ( file1.gif -coalesce -set page %[fx:w*2]x%[h]+0+0 -coalesce ) ^
null: ( file2.gif -coalesce ) -gravity east -layers composite ^
-set delay 20 -loop 0 result.gif
要在BAT脚本中使用这样的命令,请将单个百分号“%”标记为双精度“%%”。
答案 2 :(得分:0)
我仍然不知道如何修复命令。让我为Windows提供Linux solution given here。
这是:
1)文件self.get_object()
中NoReverseMatch at /offer/entrepreneurship/modelo-de-negocio/delete/
Reverse for 'list' with arguments '()' and keyword arguments '{'created_by': 'bgarcial'}' not found. 1 pattern(s) tried: ['offer/entrepreneurship/by/u/(?P<username>[-\\w]+)/$']
的单独框架:
file1.gif
2)文件a-0001.gif, ...
中convert file1.gif -coalesce a-%04d.gif
的单独框架:
file2.gif
3)并排追加框架(使用aa-0001.gif, ...
获取相对路径 - 重要):
convert file2.gif -coalesce aa-%04d.gif
4)加入附加的框架:
%~nxf