python - Import Image into tkinter -


ok i'm writing simple image viewer , have enough code able view images, problem view images want. have put them in same directory script , rename them. want user able click file-open , import images. i'm using tkinter gui , pil displaying images. here latest code:

from pil import image, imagetk tkinter import tk, label, both ttk import frame, style import os import pil import tkinter   filename = "test.jpg" filename2 = "test1.jpg" filename3 = "test2.jpg" filename4 = "test3.jpg" basewidth = 300 img = image.open(filename) wpercent = (basewidth / float(img.size[0])) hsize = int((float(img.size[1]) * float(wpercent))) img = img.resize((basewidth, hsize), pil.image.antialias) img.save('resize.jpg')  basewidth = 300 img = image.open(filename2) wpercent = (basewidth / float(img.size[0])) hsize = int((float(img.size[1]) * float(wpercent))) img = img.resize((basewidth, hsize), pil.image.antialias) img.save('resize2.jpg')  basewidth = 300 img = image.open(filename4) wpercent = (basewidth / float(img.size[0])) hsize = int((float(img.size[1]) * float(wpercent))) img = img.resize((basewidth, hsize), pil.image.antialias) img.save('resize4.jpg') class example(frame):        def __init__(self, parent):             frame.__init__(self, parent)                 self.parent = parent              self.initui()      def initui(self):              self.parent.title("picture")             self.pack(fill=both, expand=1)              style().configure("tframe", background="")              image1 = image.open("resize.jpg")             bardejov = imagetk.photoimage(image1)             label1 = label(self, image=bardejov)             label1.image = bardejov             label1.place(x=5, y=5)              image2 = image.open("resize2.jpg")             bardejov = imagetk.photoimage(image2)             label1 = label(self, image=bardejov)             label1.image = bardejov             label1.place(x=5, y=250)              image3 = image.open("resize3.jpg")             bardejov = imagetk.photoimage(image3)             label1 = label(self, image=bardejov)             label1.image = bardejov             label1.place(x= 350, y=5)              image3 = image.open("resize4.jpg")             bardejov = imagetk.photoimage(image3)             label1 = label(self, image=bardejov)             label1.image = bardejov             label1.place(x= 350, y=250)  def main():       root = tk()      root.geometry("660x488")      app = example(root)      root.mainloop()    if __name__ == '__main__':      main()   

here go - 1 image, others similarly

import tkfiledialog tkinter import * pil import image import os  root= tk()  def resizeit():     filename = tkfiledialog.askopenfilename()     basewidth = 300     img = image.open(filename)     wpercent = (basewidth / float(img.size[0]))     hsize = int((float(img.size[1]) * float(wpercent)))     img = img.resize((basewidth, hsize), image.antialias)     img.save('resize.jpg')     os.remove(filename) # deletes original image after have got resized image   button(text='add image', command=resizeit).pack()  root.mainloop() 

edit after question in comment

yes can delete file using os module. first import os in current namespace , after have saved resized image, add line os.remove(filename). have done in above code.


Comments

Popular posts from this blog

php - Calling a template part from a post -

Firefox SVG shape not printing when it has stroke -

How to mention the localhost in android -