1- from tkinter import Tk , Label , Entry , Button , StringVar , W , E , filedialog , messagebox
1+ from tkinter import Tk , Label , Entry , Button , StringVar , W , E , filedialog , messagebox , ttk
22import imageManipulation
33from PIL import Image
44import imghdr
@@ -13,6 +13,7 @@ def __init__(self, master):
1313 self .filename = "..."
1414 self .xOrig = "X"
1515 self .yOrig = "Y"
16+ self .filter = "Nearest Neighbour"
1617
1718 self .filename_label_text = StringVar ()
1819 self .filename_label_text .set (self .filename )
@@ -38,6 +39,11 @@ def __init__(self, master):
3839 self .contentY = StringVar ()
3940 self .entryY = Entry (master , text = "Height: " , validate = 'key' , validatecommand = vc , textvariable = self .contentY )
4041
42+ self .combobox_value = StringVar ()
43+ self .combobox = ttk .Combobox (master , textvariable = self .combobox_value )
44+ self .combobox ['values' ] = ('Nearest Neighbour' , 'Bilinear' , 'Bicubic' , 'Anti-Alias' )
45+ self .combobox .current (0 )
46+
4147 self .browse_button = Button (master , text = "Browse..." , command = lambda : self .update ("browse" ))
4248 self .generate_button = Button (master , text = "Generate" , command = lambda : self .update ("generate" ))
4349 self .reset_button = Button (master , text = "Reset" , command = lambda : self .update ("reset" ))
@@ -54,8 +60,9 @@ def __init__(self, master):
5460 self .label_y_orig .grid (row = 3 , column = 1 , sticky = W + E )
5561 self .entryX .grid (row = 2 , column = 4 , sticky = W + E )
5662 self .entryY .grid (row = 3 , column = 4 , sticky = W + E )
57- self .generate_button .grid (row = 4 , column = 0 , columnspan = 4 , sticky = W + E )
58- self .reset_button .grid (row = 4 , column = 4 , sticky = W + E )
63+ self .combobox .grid (row = 4 , column = 0 , columnspan = 5 , sticky = W + E )
64+ self .generate_button .grid (row = 5 , column = 0 , columnspan = 4 , sticky = W + E )
65+ self .reset_button .grid (row = 5 , column = 4 , sticky = W + E )
5966
6067 self .im = Image
6168
@@ -89,7 +96,8 @@ def update(self, method):
8996 root .withdraw ()
9097 elif method == "generate" :
9198 if not (self .contentX .get () == "" ) or (self .contentY .get () == "" ):
92- imageManipulation .resizeImage (self .im , int (self .contentX .get ()), int (self .contentY .get ()))
99+ self .filter = self .combobox .get ()
100+ imageManipulation .resizeImage (self .im , self .filter , int (self .contentX .get ()), int (self .contentY .get ()))
93101 else : # reset
94102 self .clear ()
95103
@@ -102,6 +110,7 @@ def clear(self):
102110 self .label_y_orig_text .set (self .yOrig )
103111 self .contentX .set ("" )
104112 self .contentY .set ("" )
113+ self .combobox .current (0 )
105114
106115 def validate (self , action , index , value_if_allowed ,
107116 prior_value , text , validation_type , trigger_type , widget_name ):
0 commit comments