sources/chap01/pizza.py
sources/chap01/error.py
sources/chap01/spiral.py
sources/chap01/lab1.py
sources/chap01/lab2.py
sources/chap01/lab3.py
sources/chap02/sum.py
sources/chap02/name.py
sources/chap02/lab1.py
sources/chap02/lab2.py
sources/chap02/lab3.py
sources/chap02/lab4.py
sources/chap03/remainder1.py
sources/chap03/remainder2.py
sources/chap03/lab1.py
sources/chap03/lab2.py
sources/chap03/lab3.py
sources/chap03/lab4.py
sources/chap03/lab5.py
sources/chap03/power.py
sources/chap03/comp.py
sources/chap03/comment.py
sources/chap03/lab6.py
sources/chap04/error.py
sources/chap04/list.py
sources/chap04/sum.py
sources/chap04/var.py
sources/chap04/lab1.py
sources/chap04/lab2.py
sources/chap04/lab3.py
sources/chap04/lab4.py
sources/chap04/lab5.py
sources/chap04/lab6.py
sources/chap05/elif.py
sources/chap05/ex1.py
sources/chap05/ex2.py
sources/chap05/nested.py
sources/chap05/lab1.py
sources/chap05/lab2.py
sources/chap05/lab3.py
sources/chap05/lab4.py
sources/chap05/lab5.py
sources/chap05/lab6.py
sources/chap05/lab7.py
sources/chap05/lab8.py
sources/chap05/lab9.py
sources/chap05/lab10.py
sources/chap06/ex1.py
sources/chap06/ex2.py
sources/chap06/forloop.py
sources/chap06/forloop1.py
sources/chap06/forloop2.py
sources/chap06/inf_loop.py
sources/chap06/login.py
sources/chap06/range.py
sources/chap06/welcome.py
sources/chap06/while1.py
sources/chap06/while2.py
sources/chap06/while3.py
sources/chap06/lab1.py
sources/chap06/lab2.py
sources/chap06/lab3.py
sources/chap06/lab4.py
sources/chap06/lab5.py
sources/chap06/lab6.py
sources/chap06/lab7.py
sources/chap06/lab8.py
sources/chap06/lab9.py
sources/chap06/lab10.py
sources/chap06/lab11.py
sources/chap06/lab12.py
sources/chap06/lab13.py
sources/chap07/default.py
sources/chap07/func1.py
sources/chap07/func2.py
sources/chap07/func3.py
sources/chap07/get_sum.py
sources/chap07/global.py
sources/chap07/global1.py
sources/chap07/global2.py
sources/chap07/keyword.py
sources/chap07/lab1.py
sources/chap07/lab2.py
sources/chap07/lab3.py
sources/chap07/lab4.py
sources/chap07/lab4_1.py
sources/chap07/lab5.py
sources/chap07/lab6.py
sources/chap07/lab7.py
sources/chap08/decrypt.py
sources/chap08/encrypt.py
sources/chap08/proj1.py
sources/chap08/proj2.py
sources/chap08/proj3.py
sources/chap08/proj4.py
sources/chap08/proj5.py
sources/chap09/del.py
sources/chap09/dict1.py
sources/chap09/dict2.py
sources/chap09/dict3.py
sources/chap09/list1.py
sources/chap09/list2.py
sources/chap09/pop.py
sources/chap09/remove.py
sources/chap09/sort.py
sources/chap09/lab1.py
sources/chap09/lab2.py
sources/chap09/lab3.py
sources/chap09/lab4.py
sources/chap09/lab5.py
sources/chap09/lab6.py
sources/chap10/calc1.py
sources/chap10/calc2.py
sources/chap10/calc3.py
sources/chap10/calc4.py
sources/chap10/calc5.py
sources/chap10/gui1.py
sources/chap10/gui2.py
sources/chap10/gui3.py
sources/chap10/gui4.py
sources/chap10/gui5.py
sources/chap10/gui6.py
sources/chap10/gui7.py
sources/chap10/image.py
sources/chap10/mypaint.py
sources/chap10/place.py
sources/chap11/file1.py
sources/chap11/file2.py
sources/chap11/file3.py
sources/chap11/file4.py
sources/chap11/file5.py
sources/chap11/file6.py
sources/chap11/file7.py
sources/chap11/file8.py
sources/chap11/file9.py
sources/chap11/filedialog.py
sources/chap11/lab(memopad).py
sources/chap11/pickle1.py
sources/chap11/pickle2.py
sources/chap11/lab1.py
sources/chap11/lab2.py
sources/chap12/pillow1.py
sources/chap12/pillow2.py
sources/chap12/pillow3.py
sources/chap12/pillow4.py
sources/chap13/ball1.py
sources/chap13/car1.py
sources/chap13/car2.py
sources/chap13/car3.py
sources/chap13/car4.py
sources/chap13/car5.py
sources/chap13/myturtle.py
sources/chap13/lab1.py
sources/chap14/ball1.py
sources/chap14/ball2.py
sources/chap14/ball3.py
sources/chap14/ball4.py
sources/chap14/ball5.py
sources/chap14/ball6.py
sources/chap14/ball7.py
¢¸ ÀÌÀü
´ÙÀ½ ¢º
from PIL import Image, ImageTk, ImageFilter import tkinter as tk from tkinter import filedialog as fd im = None tk_img = None # ÆÄÀÏ ¸Þ´º¿¡¼ ¡°¿±â¡±¸¦ ¼±ÅÃÇÏ¿´À» ¶§ È£ÃâµÇ´Â ÇÔ¼ö def open(): global im, tk_img fname = fd.askopenfilename() im = Image.open(fname) tk_img = ImageTk.PhotoImage(im) canvas.create_image(250, 250, image=tk_img) window.update() # ÆÄÀÏ ¸Þ´º¿¡¼ ¡°Á¾·á¡±¸¦ ¼±ÅÃÇÏ¿´À» ¶§ È£ÃâµÇ´Â ÇÔ¼ö def quit(): window.quit() # ¿µ»çó¸® ¸Þ´º¿¡¼ ¡°¿±â¡±¸¦ ¼±ÅÃÇÏ¿´À» ¶§ È£ÃâµÇ´Â ÇÔ¼ö def image_rotate(): global im, tk_img out = im.rotate(45) tk_img = ImageTk.PhotoImage(out) canvas.create_image(250, 250, image=tk_img) window.update() # ¿µ»çó¸® ¸Þ´º¿¡¼ ¡°¿±â¡±¸¦ ¼±ÅÃÇÏ¿´À» ¶§ È£ÃâµÇ´Â ÇÔ¼ö def image_blur(): global im, tk_img out = im.filter(ImageFilter.BLUR) tk_img = ImageTk.PhotoImage(out) canvas.create_image(250, 250, image=tk_img) window.update() # À©µµ¿ì¸¦ »ý¼ºÇÑ´Ù. window = tk.Tk() canvas = tk.Canvas(window, width=500, height=500) canvas.pack() # ¸Þ´º¸¦ »ý¼ºÇÑ´Ù. menubar = tk.Menu(window) filemenu = tk.Menu(menubar) ipmenu = tk.Menu(menubar) filemenu.add_command(label="¿±â", command=open) filemenu.add_command(label="Á¾·á", command=quit) ipmenu.add_command(label="¿µ»óȸÀü", command=image_rotate) ipmenu.add_command(label="¿µ»óÈ帮°Ô", command=image_blur) menubar.add_cascade(label="ÆÄÀÏ", menu=filemenu) menubar.add_cascade(label="¿µ»óó¸®", menu=ipmenu) window.config(menu=menubar) window.mainloop()