Рисование изображения на холсте показывает только последний рисунок
Я построил функцию, которая рисует данное изображение на данном холсте. По какой-то причине он рисует только последнее изображение. Я получаю ярлыки на обоих моих холстах. Пытался изменить 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")