import tkinter as tk
from PIL import ImageTk, Image
from random import randint
win = tk.Tk()
win.geometry("452x485+0+0")
class SimpleApp(object):
def __init__(self, master, filename):
self.master = master
self.filename = filename
self.canvas = tk.Canvas(master, bg="black", width=450, height=500)
self.canvas.place(x=0, y=10)
self.angle = 0
def draw(self):
self.image = Image.open(self.filename)
self.turn = randint(30, 390)
self.canvas_obj = None
self.master.after(100, self.rotate)
def rotate(self):
if self.turn > 0:
if self.canvas_obj:
self.canvas.delete(self.canvas_obj)
self.tkimage = ImageTk.PhotoImage(self.image.rotate(self.angle))
self.canvas_obj = self.canvas.create_image(227, 250, image=self.tkimage)
self.angle = (self.angle - 1) % 360
self.turn -= 1
self.master.after_idle(self.rotate)
app = SimpleApp(win, '10C.png')
pic = ImageTk.PhotoImage(file="Stick.png")
lblStick = tk.Label(win, image=pic); lblStick.place(x=0, y=0)
btn = tk.Button(win, text="Rotate", command=app.draw)
btn.place(x=400, y=450)
win.mainloop()
No comments:
Post a Comment