Как сохранить файл .png через python в tkinter нажатием кнопки - PullRequest
0 голосов
/ 19 апреля 2020

Ребята, я хотел знать, как сохранить файл png по указанному пути c через tkinter У меня есть кнопка, и когда я нажимаю на нее, я хочу, чтобы сохранить файл c png по указанному пути, который я напишите в записи вы можете посмотреть мой код здесь

from tkinter import *
from tkinter import filedialog
from tkinter import*
from tkinter.ttk import *
import pyautogui
from PIL import ImageTk,Image
import time
import os.path
def callback(event):
    w1 = e1.get()
    h1 = e2.get()
    im = pyautogui.screenshot('my_screenshot.png',region=(0,0, w1, h1))
    tru()
def save():
    save_path =e3.get()
    #if name_of_file is True:
    #name_of_file=name_of_file+1
    completeName = os.path.join(save_path, "my_screenshot.png")
window = tkinter.Tk()
window.wm_iconbitmap('Scissors-black.ico')
window.title("Screenshot Taker")
#window.geometry("500x500")
frame = LabelFrame(window,text="The Screenshot")
frame.grid(row=4,column=None)
e1 = Entry(window)
e2 = Entry(window)
l1=Label(window,text="Width")
l2=Label(window,text="Height")
l1.grid(row=0,column=0, pady = 2)
l2.grid(row=1,column=0, pady = 2)
e1.grid(row = 0, column = 1, pady = 2)
e2.grid(row = 1, column = 1, pady = 2)
b1 = Button(text="Save",command=save)
b1.grid(row=3, column=0, pady = 2)
e3 = Entry(window)
e3.grid(row =3, column=1, pady = 2)
L=window.bind("<Return>",callback)
def tru():
    my_img = ImageTk.PhotoImage(Image.open("my_screenshot.png"))
    l3=Label(frame,image=my_img)
    l3.grid(row=4,column=None)
    window.mainloop()


#label = tkinter.Label(window,text = "Press Enter to take a screenshot").pack()

1 Ответ

0 голосов
/ 19 апреля 2020

Вы можете сохранить изображение с помощью модуля Image из библиотеки PIL

#import image module
from PIL import Image
#Create image object
image = Image.open(r"path_to_image")#type the path
image.save("Example.png") #type the location to be saved
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...