0

有没有办法将 wxPython 的GIFAnimationCtrl(需要文件名,而不是文件)与img2py生成的图像一起使用?

4

1 回答 1

1

我不知道 PyEmbeddedImage 和 img2py.py,但这是我发现的一种将动画嵌入到 python 源代码中的方法。

gif_img_base64 = (
  "R0lGODlhEAAQAPQAAP///wAAAPDw8IqKiuDg4EZGRnp6egAAAFhYWCQkJKysrL"
  "6+vhQUFJycnAQEBDY2NmhoaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
  ...
  "PAqFgYy02xkSaLEMV34tELyRYNEsCQyHlvWkGCzsPgMCEAY7Cg04Uk48LAsDhR"
  "A8MVQPEF0GAgqYYwSRlycNcWskCkApIyEAOwAAAAAAAAAAAA=="
  )

a = wx.animate.GIFAnimationCtrl(self, -1, '') # The control

a2 = wx.animate.Animation() # The data
data = base64.b64decode(gif_img_base64)
a2.Load(cStringIO.StringIO(data))
a.SetAnimation(a2) # Bind the data and the control

a.GetPlayer().UseBackgroundColour(True)
a.Play()

变量 gif_img_base64 是带有动画的 GIF 文件的 base64 编码内容。用于创建代码的帮助程序:

import sys, base64
data = sys.stdin.read()
s = base64.b64encode(data)
print 'gif_img_base64 = ('
while s:
  print '  "' + s[:62] + '"'
  s = s[62:]
print '  )'
于 2013-03-27T09:03:09.580 回答