如何保存绘制的画布图像而不是画布的任何格式?

时间:2020-07-15 18:49:58

标签: python-3.x tkinter tkinter-canvas

我刚刚开始学习Python并使用tkinter库。在这段代码中,我希望用户能够使用笔刷在所选图像上指定区域并保存刷过的图像,但是我不知道如何将刷过的图像保存在画布中。这是我的代码的一部分:< / p>

     def insert_image(self):
            self.Myimage = askopenfilename(initialdir="/", title="Select file",
                                   filetypes=(("jpeg files", "*.jpg"), ("all files", "*.*")))

            self.image = Image.open(self.Myimage)
            self.Image_width, self.Image_height = self.image.size
            self.c = Canvas(self.root, bg='white', height=self.Image_height, width=self.Image_width)
            self.c.grid(row=1, columnspan=5)
            self.photo = ImageTk.PhotoImage(self.image)
            self.c.create_image(0, 0, anchor=NW, image=self.photo)
            self.setup()
            print("this is :" + self.Myimage)

    def save_as(self):
            self.save_file = filedialog.asksaveasfile(mode='w', defaultextension=".jpg",initialdir = "/",title = "Select file",filetypes = (('JPEG', ('*.jpg','*.jpeg','*.jpe','*.jfif')),('PNG', '*.png'),('BMP', ('*.bmp','*.jdib')),('GIF', '*.gif')))
    if self.save_file:
        self.image.save(self.save_file)

0 个答案:

没有答案