Изображение на холсте виджета Ткинтер - PullRequest
0 голосов
/ 17 марта 2019

Я уже почти закончил игру, которую делаю, но теперь я хочу, чтобы персонажи, которые движутся, выглядели немного лучше, чем просто блоки. Однако весь код сделан так, что он работает только с виджетами холста (в данном случае с прямоугольниками), а не с изображениями. Итак, есть ли способ вставить изображения в такие виджеты холста или заполнить виджеты холста изображением. После некоторых исследований я подумал, что смогу сделать это с PIL, но у меня это не сработало.

Какие-либо советы или другие рекомендуемые пакеты для использования в этом случае? Или я должен просто переписать весь мой код для работы с объектом изображения (например, то, о чем я спрашивал выше, невозможно).

1 Ответ

0 голосов
/ 17 марта 2019

Вы пробовали пример здесь ?

#!/usr/bin/python3
# -*- coding: utf-8 -*-

"""
ZetCode Tkinter tutorial

In this script, we draw an image
on the canvas.

Author: Jan Bodnar
Last modified: July 2017
Website: www.zetcode.com
"""

from tkinter import Tk, Canvas, Frame, BOTH, NW
from PIL import Image, ImageTk

class Example(Frame):

    def __init__(self):
        super().__init__()   

        self.initUI()


    def initUI(self):

        self.master.title("High Tatras")        
        self.pack(fill=BOTH, expand=1)

        self.img = Image.open("tatras.jpg")
        self.tatras = ImageTk.PhotoImage(self.img)

        canvas = Canvas(self, width=self.img.size[0]+20, 
           height=self.img.size[1]+20)
        canvas.create_image(10, 10, anchor=NW, image=self.tatras)
        canvas.pack(fill=BOTH, expand=1)


def main():

    root = Tk()
    ex = Example()
    root.mainloop()  


if __name__ == '__main__':
    main()   
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...