Я пытаюсь исправить написанную мной программу анимации, чтобы обеспечить переменную задержку при отображении изображений в качестве элемента управления частотой кадров для воспроизведения незаконченной работы.
Я использую tkinter.after ()метод отсрочки смены картинки.Я использовал переменную для определения частоты кадров и десятичной.Эти методы определены в более крупном классе.
def Implay(self):
#Get the images and format them for playback
if self.play_no<self.no:
im = self.Tk_captured_frames[self.play_no]
self.play_window.configure(image = im)
self.play_window.image = im
self.play_window.update()
self.play_no+=1
self.root5.after(self.rate, self.Implay)
def playback(self):
#create the playback window
self.PlayRunning = True
rate = int(self.frame_rate)
self.root5 = tk.Toplevel()
self.play_no = 0
self.play_window = tk.Label(self.root5, image = None)
self.play_window.pack()
self.rate = int(round(1000/rate))
self.tot = 0
self.Implay()
self.root5.mainloop()
self.PlayRunning = False
На этом этапе для self.frame_rate установлено значение 24. При таком запуске кадры, которые должны воспроизводиться в течение 3 секунд, вместо этого занимают около 8. Однакоесли я введу 24 вместо self.frame_rate в определении self.rate, отснятый материал будет запущен в течение правильного времени.