如何将 List<Uint8list> 转换为 GIF?

Posted

技术标签:

【中文标题】如何将 List<Uint8list> 转换为 GIF?【英文标题】:How to convert a List<Uint8list> to GIF? 【发布时间】:2021-09-19 00:29:25 【问题描述】:

如何将List&lt;Uint8List&gt; 转换为动画GIF?

我的List&lt;Uint8List&gt; 由图像组成,我需要将它们合并并制作成 GIF。

我试过了,但它没有动画: Is their any way to convert .jpeg images to .gif in flutter?

【问题讨论】:

我认为你需要为每一帧添加一个持续时间,例如 20 。 我认为最好的方法是像@elvis-salabrarria-aquino 所说,使用外部程序,您可以转换视频或图像序列并从其上进行操作。 关于您的要求的几个问题。 1)Uint8List - 尽管没有指定它们到底存储了什么,但这些都是字节?具有特定像素大小和一些标头指定尺寸的位图?已知格式(例如 PNG、JPG)或单一格式的完整图像文件? 2)您是否需要将位图或图像文件列表(上一个问题)转换为 GIF 文件,其中每个列表都以帧的形式出现?或者您想在 Flutter 应用中将图像显示为动画帧(即将它们呈现为视频/动画 GIF)? 【参考方案1】:

The link 你提供的应该可以工作。如果不是,请提供可重现的样品。例如,提供您的样品List&lt;Uint8List&gt;。此外,您还看到了哪些错误消息?

如果没有更多信息,我猜您的 Uint8List 格式不正确。如果你上传一个示例 Uint8List(你知道,只是一些字节),我可以看看。

顺便说一下,我建议对图像格式有一些基本的了解。比如什么是“位图”(像素按字节排列),什么是jpeg/png/gif/等编码格式。

【讨论】:

顺便说一句,你是对的,我的 Uint8list 格式不正确。 你知道如何将 List 解析为 Uint8list 吗?因为提供的链接中显示的函数返回的是 List 而不是 Uint8list。因为我想在 Image.memory() 小部件中显示 gif @AgentRed Uint8List.fromList(your_list)【参考方案2】:

我认为最好的办法是您在任何程序中为此开发 gif,然后从资产中将其与您的应用程序一起加载,如果您需要帮助,请告诉我,我可以通过将图像发送给我来更好地帮助您制作gif

【讨论】:

以上是关于如何将 List<Uint8list> 转换为 GIF?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 dart 将 Uint8list 转换为 List<int>?

带有 Uint8List 的图像为空 - Flutter

如何在 Dart 中使用 json_annotation 将 Uint8List 序列化为 json?

将图像转换为 Uint8List 颤振

Flutter 将 Uint8List 传递给 iOS Objective-c

如何从网络图像中获取 Flutter Uint8List?