有没有一种使用python(没有PIL)的简单便携的方法来读取gif图像?

2024-04-25 07:27:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我在另一个应用程序中使用python(CINEMA 4D),在应用程序中创建一个与outissuetracker(Jira)的良好连接。这背后的基本原理是让我们的插件用户能够很容易地报告和跟踪错误,并自动生成诸如机器规格、屏幕截图或附加场景文件(包括纹理)之类的东西。在

到目前为止,这是一个非常顺利的过程,整合进展顺利。我开始从Jira抓取问题优先级、项目、问题类型等的图标,这样它们就可以显示出来,以便更好地进行概述。为了阅读图像文件,我使用了CINEMA 4D功能,它在python绑定中可用。在

现在的问题是,大多数来自Jira的图标都是GIF格式的,而CINEMA 4D SDK并不直接读取GIF文件(实际上它确实读取了它们,但只能通过后门让用户加载,但我不能通过Python或SDK使用这个功能)。所以我需要另一种方法来读取GIF文件。在

有一些关于stackoverflow的问题是朝这个方向发展的,但他们似乎都推荐PIL。由于以下几个原因,这似乎不是正确的解决方案:

  1. 虽然这看起来不错,但它并不是标准发行版的一部分,而且似乎只针对Windows进行维护(即使有针对macosx的版本)。在
  2. 它似乎也安装在当前的Python系统安装中,但CINEMA 4D自带它自己的,所以我不得不把它拆开,用我的插件发布它。在
  3. 然后它相当大,而我真的只希望一个紧凑的脚本有一个紧凑的解决方案(最好是现成的,但这似乎不是一个选项)

我想知道有没有更简单或者至少更紧凑的方法。由于GIF似乎是一种相对简单的文件格式,我想知道是否有一个简单的解析器作为python函数/类。在

我发现了一个链接,其中有人反汇编了一个嵌入框架的gif文件,但实际上没有抓取图像内容:Python, how i can get gif frames

我可以自己花点时间,如果文件格式是未压缩的,我会一直在编码,但我有点不情愿,因为压缩似乎会稍微提高标准。在


Tags: 文件方法用户功能插件应用程序标准sdk