Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Tk_img360spin
- from cStringIO import StringIO
- import base64, os, time
- import tempfile
- import Tkinter as tk
- from PIL import ImageTk
- from PIL import Image
- py_png_b64='''\
- R0lGODlhQABAAPcAAAAAAAAPMwAXNwAaOAAYQwAbQQAdQQAbTwAeSwAWUQMmQgAjSwEnSwYuTwoo
- SggtSAwrSAAlVAAgWQAmWAAqVgAuVwAuXQcuWAw1TQs5Xhk0SQAsYwAxZAA1YQA0bAA6bAA/dyw/
- UAxAbgxGeh5BYRxHbRRKdBRNfi5IXC5OaCJQdCNUfzdTajlQYj1UaTJWdDZge0BXaUZZaE1dakJa
- cEBffElhc0lieUlmfU9leQZJgBRVjB5bjypehzNXhzFbgTlchiZjljhkhzRplixtozNwozF1qzp4
- q0BehERmhENli0dshUZvjktylk1wkE92kltvgVBwiVp1g1lyiVl1il95j1B3l1V3klh6lmB2iWt7
- lUWDuUaIvEqCskmGul6Col2FqVSLtVONvVqMtl+NsWaInmmAlGyGnHOGlHGHmXGKnnqJk3mMm3uR
- lX2Qn2SGpmqIoW+Pp2yOrGeRuXGLoneOoHaPo3STp3eSrXyRonWZuX2gvmOWwW2aw2meynOfwnGh
- yXuhw3yly3iqz3ypz3Sl0HCp1pt+Ha6ED6SAE6yDGqeRF7OEBbqTCriTFr6fEKyJLaODMKWWJqWS
- M7WTI7aWN62iJrqlKrekOJiOR5uRTKSTRqaXVa2bV7mZR7mdVKmeZ62da62ec7Cfd7ujRrCmXrGt
- W7yoWq6jaqyicbWga7OpbbqpbbSrebmueMGXC8SaFcSZJcOcNcqjGtSoHc2pJ8yrOcG1P9iuKdG4
- LdC5PtmwPNq5MN29PcurScqtWtG8S9uwS9G8X921Xsmvbc2yd9C9cN/AUNHAfeHKRePMUuDDYOTP
- ZODFcubPdOLIfoKPmIGZq4qcrIGasYedsYOgs4eiv5euvoSjwIapx4KozYSrzI6wzoaw1Iux1Y+1
- 1oq12JSyz5K00Ji305i72qC706C92Z3B3JnA4aTC26vF3KXI5K/Q6s/CjtTOgdvGjtLHmtPNltTP
- odTQreXRgunXk+nZp+/ki+zimu/lqQAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAP8ALAAAAABAAEAA
- AAj/AP8JHEiwoEGB16qdiVMmzh1p1KhNi1bnzBk809Ic3MixI0czNKhUK5du3bl06cqpVGlOnTpz
- 5M60cOOxps2BaSDI+faNGzdx38B92zYunE+f4cQdNTdFg52bUA+mMTCHULdAe7JtA1SIkCBtgsIS
- 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
- 7n9/QXLP//73f0cBAQA7'''
- def img2b64(source, target, folder = u'Python\\images\\', dir = u'E:\\'):
- try: os.mkdir(dir+folder)
- except: pass
- img2txt = base64.encodestring(open(dir+folder+source,"rb").read())
- f = open(dir+folder+target+'.txt', "w")
- f.write(img2txt)
- f.close()
- if 1:
- txt2img = base64.b64decode(img2txt)
- f = open(dir+folder+target+'.png',"wb")
- f.write(txt2img)
- f.close()
- return img2txt
- #
- '''
- try: # just for a quick ref
- take=u'64x64.gif'
- filename = 'pylogo'
- img2b64(take,filename)
- except: print "Was Unable To Create Demo Files"
- '''
- ### ??? StringIO... ZZZ
- tf = tempfile.mktemp(".png", "pylogo_x")
- g = open(tf, 'wb')
- g.write(base64.decodestring(py_png_b64))
- g.close()
- png = Image.open(tf)
- ### ---
- def star_5pt(x,y,s):
- a,b,c,d,e,f,g,h,j,k,m,n,p = 0,180,294,476,250,192,308,500,340,402,357,96,157
- plot_xy = [(a,b),(f,b),(e,a),(g,b),(h,b),(j,c),(k,d),(e,m),(n,d),(p,c)]
- nova=[]
- for xy in plot_xy:
- xy = (xy[0]*0.002)*s+x,(xy[1]*0.002)*s+y
- nova.append(xy)
- return nova
- star = star_5pt(30,60,300)
- root = tk.Tk()
- canvas = tk.Canvas(root, width=360, height=500)
- canvas.pack()
- obj = Image.open(tf).convert('RGBA')
- canvas.create_polygon(star, outline='green', width=10, fill='purple')
- angle = 0
- while 1:
- tk_image = ImageTk.PhotoImage(obj.rotate(angle))
- canvas_obj = canvas.create_image(250, 250, image=tk_image)
- root.update()
- tt = time.time()+0.02
- while tt > time.time(): pass
- canvas.delete(canvas_obj)
- angle += 10
- angle %= 360
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement