1

我可以通过先保存数据将 gif 编码为 base64。

    imageio.mimsave(output_fn, [img_as_ubyte(frame) for frame in gif], fps=original_fps)

    with open(output_fn, "rb") as gif_file:
            detect_base64 = 'data:image/gif;base64,{}'.format(base64.b64encode(gif_file.read()).decode())

我需要找到一种方法以gif图像数组的形式对上述内容进行编码,并将其对应fps到 base64 中,而无需output_fn先将其保存到。

4

1 回答 1

2

一般的做法是使用 aBytesIO作为打开文件的替代品,即

gif_file = io.BytesIO()

imageio.mimsave(gif_file, [img_as_ubyte(frame) for frame in gif], 'GIF', fps=original_fps)

detect_base64 = 'data:image/gif;base64,{}'.format(base64.b64encode(gif_file.getvalue()).decode())
于 2020-06-23T08:18:49.793 回答