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
Post a Comment