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



所以我的教授让我们使用 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()

例如,如果您将图像存储为gif,Python通常能够显示它。 以下是步骤。 我假设您创建一个名为"win"的图形窗口。

首先,将图像保存在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

它很好地说明了一切。

相关内容

  • 没有找到相关文章

最新更新