将pythonmagick图像转换为tkinter图像

2024-04-19 21:00:08 发布

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

简而言之,我想在tkinter应用程序中使用pythonmagick创建的Image。在

简单地说,我的目标是用tkinter显示动画gif。{/cd4}用户可以从他们最不友好的方式,从他们的应用程序,{cd4/从他们最不友好的方式生成图像。在

为了增加一些方便,可以在应用程序中包含带有convert的命令行ImageMagick可执行文件,并在用户选择GIF时自动调用。然而,这仍然会在用户的硬盘上留下一堆图像文件,并且应用程序必须与每个操作系统的ImageMagick可执行文件捆绑在一起,这可能会导致兼容性问题。在

理想情况下,用户的GIF将完全在内存中转换成一系列图像,然后转换成与tkinter或{}兼容的Image(我的应用程序使用pillow接受多种格式,而不仅仅是GIF和PGM/PPM),然后进行动画。在

我想这就是pythonmagick可以发挥魔力的地方。在

学习pythonmagick的基本用法是一回事,但我不知道还有什么地方可以学习如何将pythonmagickImage转换成{}一个。在

pythonmagick的整个文档似乎是this text file。它包含了一个将pythonmagickImage转换为PILImage的示例,但它不起作用:

img = PythonMagick.Image(magickimage)  # make copy
img.depth = 8        #  this takes 0.04 sec. for 640x480 image
img.magick = "RGB"
data = img.data
w, h = img.columns(), img.rows()
# convert string array to an RGB Pil image
pilimage = Image.fromstring('RGB', (w, h), data)

pythonmagickImages不包含data属性。我试着把pythonmagickBlob搞乱了一下,但我不知道它在做什么,也不知道它是如何工作的。我尝试运行上面的代码,将img.data替换为之前保存的blob.data(按this SO question)替换,但它给出了以下结果:

^{pr2}$

我还尝试用字节而不是字符串(按this SO question)和{}创建图像,但这也没用。在

也许是简单的事情,但我有一种感觉我离我很远了。{2}这一次被清除了。在


Tags: 用户图像image应用程序convertimgdatatkinter