def random_image(self, value): data[(int)(random() * value), (int)(random() * value)] = 255 self.im = Image.frombytes('L', (data.shape[1], data.shape[0]), data.astype('b').tostring()) self.photo = ImageTk.PhotoImage(image=self.im) self.canvas.create_image(0, 0, image=self.photo, anchor=tkinter.NW) self.canvas.update() self.master.update() def method(value): app.random_image((int)(value)) root = tk.Tk() var = DoubleVar() app = Application(master=root) w1 = Scale(root, from_=0, to_=150, tickinterval=1, variable=var, command=method) w1.set(45) w1.pack() w1.command = method logo = tk.PhotoImage() app.mainloop()