Python使用图像作为背景(graphics.py)

时间:2015-04-30 01:15:19

标签: python user-interface graphics

所以我的教授正在让我们使用Graphis.py(zelle)制作一个GUI我已经制作了所有按钮我的问题是该模块没有任何功能允许图像只是背景颜色。你们有什么想法我可以修改它所以我可以设置背景图像? setBackground方法是我认为需要编辑的方法

class GraphWin(tk.Canvas):

"""A GraphWin is a toplevel window for displaying graphics."""

def __init__(self, title="Graphics Window",
             width=200, height=200, autoflush=True):
    master = tk.Toplevel(_root)
    master.protocol("WM_DELETE_WINDOW", self.close)
    tk.Canvas.__init__(self, master, width=width, height=height)
    self.master.title(title)
    self.pack()
    master.resizable(0,0)
    self.foreground = "black"
    self.items = []
    self.mouseX = None
    self.mouseY = None
    self.bind("<Button-1>", self._onClick)
    self.bind_all("<Key>", self._onKey)
    self.height = height
    self.width = width
    self.autoflush = autoflush
    self._mouseCallback = None
    self.trans = None
    self.closed = False
    master.lift()
    self.lastKey = ""
    if autoflush: _root.update()

def __checkOpen(self):
    if self.closed:
        raise GraphicsError("window is closed")

def _onKey(self, evnt):
    self.lastKey = evnt.keysym


def setBackground(self, color):
    """Set background color of the window"""
    self.__checkOpen()
    self.config(bg=color)
    self.__autoflush()

1 个答案:

答案 0 :(得分:0)

例如,如果将图像存储为gif,Python通常可以显示它。这是步骤。我假设您创建了一个名为&#34; win&#34;。

的图形窗口

首先,将图像保存在TestPic.gif等文件中。 其次,导入图像并为其指定名称,例如b:

b = Image(Point(100,100),"TestPic.gif")

点(100,100)是图像居中的点。现在你要显示它:

Image.draw(b,win)

几乎就是这样。您可以使用标准的Python图形命令来操纵图像,例如移动它等等。

供参考,请参阅此链接中的图形pdf:

http://mcsp.wartburg.edu/zelle/python/graphics/graphics.pdf

它很好地解决了所有问题。