- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有 2 个长度相同的 GIF。
我想将 GIF 放在一起,以便有 1 个 GIF 可以同时播放。我尝试使用 convert
工具:
convert +append 1.gif1 2.gif output.gif
但是,这似乎将所有图像混合在一起并将尺寸更改为非常小。
我想我可以将每个图像附加在一起,然后用这些已经组合的图像创建一个 GIF。然而,当我尝试时它不起作用:
convert -delay 15 -loop 0 1*.png 2*.png +append output.gif
我有很多名称很长的图像,我不想单独浏览并为每个图形附加新的命名约定。
最佳答案
我没有 2 个相同长度的动画 GIF,所以我只使用这个的两个副本:
让我们看看其中的框架:
identify 1.gif
1.gif[0] GIF 500x339 500x339+0+0 8-bit sRGB 32c 508KB 0.000u 0:00.000
1.gif[1] GIF 449x339 500x339+51+0 8-bit sRGB 32c 508KB 0.000u 0:00.000
1.gif[2] GIF 449x339 500x339+51+0 8-bit sRGB 32c 508KB 0.000u 0:00.000
1.gif[3] GIF 449x339 500x339+51+0 8-bit sRGB 32c 508KB 0.000u 0:00.000
1.gif[4] GIF 448x339 500x339+52+0 8-bit sRGB 32c 508KB 0.000u 0:00.000
1.gif[5] GIF 449x339 500x339+51+0 8-bit sRGB 32c 508KB 0.000u 0:00.000
1.gif[6] GIF 448x339 500x339+52+0 8-bit sRGB 32c 508KB 0.000u 0:00.000
1.gif[7] GIF 448x339 500x339+52+0 8-bit sRGB 32c 508KB 0.000u 0:00.000
1.gif[8] GIF 448x339 500x339+52+0 8-bit sRGB 32c 508KB 0.000u 0:00.000
1.gif[9] GIF 448x339 500x339+52+0 8-bit sRGB 32c 508KB 0.000u 0:00.000
1.gif[10] GIF 448x339 500x339+52+0 8-bit sRGB 32c 508KB 0.000u 0:00.000
1.gif[11] GIF 500x339 500x339+0+0 8-bit sRGB 32c 508KB 0.000u 0:00.000
1.gif[12] GIF 500x339 500x339+0+0 8-bit sRGB 32c 508KB 0.000u 0:00.000
1.gif[13] GIF 500x339 500x339+0+0 8-bit sRGB 32c 508KB 0.000u 0:00.000
1.gif[14] GIF 500x339 500x339+0+0 8-bit sRGB 32c 508KB 0.000u 0:00.000
1.gif[15] GIF 448x339 500x339+52+0 8-bit sRGB 32c 508KB 0.000u 0:00.000
1.gif[16] GIF 500x339 500x339+0+0 8-bit sRGB 32c 508KB 0.000u 0:00.000
1.gif[17] GIF 500x339 500x339+0+0 8-bit sRGB 32c 508KB 0.000u 0:00.000
嗯,18个不同大小的帧,这意味着我们需要使用-coalesce
将部分帧重建为完整的帧。
让我们复制它并制作2.gif
cp 1.gif 2.gif
现在我们可以将两个 gif 分割成它们的组件框架,如下所示:
convert 1.gif -coalesce a-%04d.gif # split frames of 1.gif into a-0001.gif, a-0002.gif etc
convert 2.gif -coalesce b-%04d.gif # split frames of 2.gif into b-0001.gif, b-0002.gif etc
现在让我们并排连接各个框架:
for f in a-*.gif; do convert $f ${f/a/b} +append $f; done
请注意,${f/a/b}
是一个 bash-ism,意思是“取 f 的值并将字母 'a' 替换为 'b'”>.
然后将它们重新组合在一起:
convert -loop 0 -delay 20 a-*.gif result.gif
这看起来比实际更长、更难,因为我试图解释这一切,但它看起来确实是这样的:
convert 1.gif -coalesce a-%04d.gif # separate frames of 1.gif
convert 2.gif -coalesce b-%04d.gif # separate frames of 2.gif
for f in a-*.gif; do convert $f ${f/a/b} +append $f; done # append frames side-by-side
convert -loop 0 -delay 20 a-*.gif result.gif # rejoin frames
请注意,这是概念性代码,而不是生产质量。它不会删除它创建的临时文件,也不会从原始 GIF 中向前移动帧间时间。如果您想获得原始帧速率,您可以像这样获取它们并将它们保存到数组中,然后将延迟反馈到最后的重新动画命令中:
identify -format "%f[%s] %T\n" 1.gif
1.gif[0] 8
1.gif[1] 8
1.gif[2] 8
1.gif[3] 8
1.gif[4] 8
1.gif[5] 8
1.gif[6] 8
1.gif[7] 8
1.gif[8] 8
1.gif[9] 8
1.gif[10] 11
1.gif[11] 11
1.gif[12] 11
1.gif[13] 11
1.gif[14] 11
1.gif[15] 11
1.gif[16] 11
1.gif[17] 26
此外,您可能需要在两个动画之间添加一个间隔,例如 10 个像素,您可以通过将 for
循环中的 convert
命令替换为以下命令来实现:
convert $f -size 10x xc:none ${f/a/b} +append $f
关于ImageMagick - 使用 IM 转换将 2 个 GIF 变成并排的 GIF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30927367/
Skype 如何在 imo.im 和 im+ 服务中工作?有什么猜测吗? 我认为只有3种方式: 为服务器上的每个连接客户端运行多个 Skype 客户端副本 为服务器上的每个客户端从 SkypeKit
目前我正在开发 XMPP Google talk 聊天应用程序。该应用程序运行良好,通过分析来自特定聊天客户端的传入数据包(消息),我得到发件人的用户名(电子邮件)为“xxx@public.talk.
概要 给定一个带有可变参数模板构造函数的类型,它将参数转发给一个实现类,是否可以限制使用 SFINAE 转发的类型? 细节 首先,考虑带有通用引用的构造函数的非可变参数情况。这里可以禁用通过 SFIN
一组人气很高的很火的聊天表情包又来啦,热门又很有趣的聊天表情哦,这组表情包的聊天使用频率也是超级的高的哦。
我刚刚阅读了以下命令: taskkill /f /im something.exe 我读到了 /f强制关闭任务,但是 /im 做什么?做? 最佳答案 它告诉 taskkill下一个参数somethin
我曾遇到过有关此主题的不同问题,但是,没有一个能消除我对通知服务器客户端 IM 应用程序客户端的最佳方法的疑虑。 问题:整个问题是如何通知客户端应用程序更新。我已经见过以下方法: 客户端不断检查更新:
我正在尝试这段代码: im = Image.open("myimage") colors = im.getcolors() print colors 它返回“无”。所以我尝试了这个: im = Ima
我为打印网页编写代码。我正在使用 javascript 打印网页,代码如下 function print() { window.print(); } 我在 Button 的 onclien
我正在为 android 编写一个 jabber messenger,我想查看潜在聊天伙伴的电话联系人列表;) 无法弄清楚如何获取联系人的特定属性。获取显示名称不是问题,问题在于获取 IM 用户名。
我有这个 php 代码,其中有很多 mysql_query 和 or die ( mysql_error() ) 我如何减少 mysql_query 或 or die ( mysql_error()
我需要从我的应用程序连接到 IMS apn。当我尝试连接到 IMS apn 时,它会在我的手机上连接和断开连接,即使在 kitkat 上使用彩信也会发生同样的情况。有人可以帮我解决这个问题吗?这是代码
我正在创建一个社交网络网站,我需要一个 IM/聊天解决方案。 对话只是一对一的,用户只能与他们的 friend 聊天(即 Facebook 聊天 - 没有 channel ,没有房间......)。
我不是专业的程序员,我更多的是在业务方面,真的有一段时间没有编码了。问题是我正计划为手机开发一项新的 IM 服务,并且想知道在您看来,我应该在此过程中使用哪些最佳编程语言(聘请具有这些知识的人!)。
目前我只是每 3 秒查询一次服务器,看看是否有任何使用 NSURLRequest 等的新消息。如果有,它会将它们保存到数据库中,如果没有,则发送 NSNotificationCenter 通知,然后等
我正在尝试创建一个 IM 机器人,但我无法找到必要的资源。 更新 Imified 存在一个问题,使 gtalk 机器人无法在线显示(并且没有响应),它现在可以正常工作,所以我要关闭它。 这个tutor
我们有几个分布式开发人员在几个项目上一起工作。我们一直在使用 Skype 与所有开发人员进行聊天,它工作正常,除了一件事: 它真的会破坏我们复制并粘贴到聊天中的任何代码——尤其是 Python 中的空
我是 QuickBlox 聊天新手.. 尝试使用 Javascript SDK。但这总是抛出 Uncaught ReferenceError: QB is not defined 不知道我错过了什么。
我尝试在 C:\Users[name]\AppData\Roaming\Skype 中查找,发现一个名为“chatsync”的文件夹,其中有一些神秘的文件夹,其中的文件以 .dat 结尾。我几乎可以肯
2G 和 3G 已经在少数国家停用,其他国家也将很快停用。 LTE 模块的 VoLTE 功能对于能够通过 4G 进行调用而无需 2G/3G 回退是必需的。 native SMS 可以通过 2G/3G
我正在尝试cv2.imshow我的图像进行透视变换。 但是,我的图像很大,所以我看不到全貌: 如何解决这个问题? 下面是我的代码: import cv2 import os import numpy
我是一名优秀的程序员,十分优秀!