【问题标题】:How to insert an image in a canvas item?如何在画布项目中插入图像?
【发布时间】:2023-03-23 11:54:01
【问题描述】:

我正在为学校开发一个游戏项目,看起来像这样:游戏内方面

我已经像这样创建了这些彩色多边形:

ship = can.create_polygon(410,650,450,600,490,650 , fill= 'red' , outline='black')

ennemies = can.create_rectangle(x-r, y-r, x+r, y+r, fill='green')

所以现在我想用我自己的图像填充它们。那可能吗 ?以及如何?

【问题讨论】:

  • 您是否阅读过画布上的文档?添加图像是一项记录在案的功能。
  • 是的,但我没有找到我想要的:我想用图像填充can.create_rectangle

标签: python tkinter tkinter-canvas


【解决方案1】:
try:
    import tkinter as tk
    from tkinter.constants import *
except ImportError:  # Python 2.x
    import Tkinter as tk
    from Tkconstants import *

# Create the canvas, size in pixels.
canvas = tk.Canvas(width=300, height=200, bg='black')

# Pack the canvas into the Frame.
canvas.pack(expand=YES, fill=BOTH)

# Load the .gif image file.
gif1 = tk.PhotoImage(file='small_globe.gif')

# Put gif image on canvas.
# Pic's upper-left corner (NW) on the canvas is at x=50 y=10.
canvas.create_image(50, 10, image=gif1, anchor=NW)

# Run it...
tk.mainloop()

【讨论】:

  • 我认为你不明白我想要做什么:我想在canvas.create_rectangle 中插入图像,而不是在画布中。
  • @Milky_Way:您不能在矩形中插入图像。您当然可以在画布上放置一个矩形和一个图像,使矩形包围图像。无论如何,第一步是使用create_image,如this answer所示。
  • Milky_Way:你说得对,我误会了。由于图像是矩形的,因此您实际上不需要将它们放入矩形中。如果需要调整它们的大小,可以使用PIL 模块的tkinter-兼容PIL.ImageTk.PhotoImage 类而不是tkinter.PhotoImage。后者还可用于读取和显示tkinter 不直接支持的格式的图像文件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-02-24
  • 2015-01-01
  • 2020-05-05
  • 2013-01-31
  • 2017-12-09
  • 2023-03-16
  • 1970-01-01
相关资源
最近更新 更多