Рисование изображения на холсте показывает только последний рисунок

Я построил функцию, которая рисует данное изображение на данном холсте. По какой-то причине он рисует только последнее изображение. Я получаю ярлыки на обоих моих холстах. Пытался изменить self.imgGrayscale на imgGrayscale, но он вообще не рисует

self.DrawOnCanvas(self.img,self.canvas1)
self.DrawOnCanvas(HistoImage,self.canvas2)

def DrawOnCanvas(self,getImg,canvas):
        imgGrayscale = Image.fromarray(array(getImg)).resize((self.w1+2,self.h1+2))
        self.imgGrayscale = ImageTk.PhotoImage(imgGrayscale)
        canvas.create_image(0,0, image=self.imgGrayscale, anchor="nw") 
        widget = Tkinter.Label(self, text='Original Image', fg='white', bg='black')
        canvas.create_window(self.w1/2, self.h1/10, window=widget)

Что я делаю не так?

Решение:

 self.draws=[]
 self.DrawOnCanvas(imgUni,self.canvas5,HistoLUT,self.canvas6,'Lambda Transformation')   

    def DrawOnCanvas(self,getImg,canvas):
        imgGrayscale = Image.fromarray(array(getImg)).resize((self.w1+2,self.h1+2))
        self.draws.append(ImageTk.PhotoImage(imgGrayscale))
        canvas.create_image(0,0, image=self.draws[-1], anchor="nw") 

0 ответов

Другие вопросы по тегам