Анимированный GIF с Python TurtlePython

Программы на Python
Ответить
Anonymous
 Анимированный GIF с Python Turtle

Сообщение Anonymous »

Я нашел способ отобразить анимированный GIF-файл с помощью Python tkinter и пытаюсь заставить его работать с Python Turtle Graphics.
Я могу отобразить анимированный GIF-файл с помощью следующего кода, но есть проблемы.
  • По какой-то причине наличие .grid(row=0, columns=0) выводит изображение за пределы экрана.
  • Изображение имеет окружающую рамку, которую я не хочу отображаться.
Я пробовал .place() с различными аргументами, но ни один из них не помещает изображение на экран.
Есть какие-нибудь предложения о том, как разместить изображение в определенной позиции без рамки?
# main file

import turtle
import tkinter_gif

screen = turtle.Screen()
canvas = screen.getcanvas()
gif_window = tkinter_gif.ImageLabel(canvas)
gif_window.grid(row=1, column=0)
gif_window.load("giphy.gif")
turtle.done()

# tkinter_gif.py

import tkinter as tk
from PIL import Image, ImageTk
from itertools import count

class ImageLabel(tk.Label):
"""a label that displays images, and plays them if they are gifs"""
def load(self, im):
if isinstance(im, str):
im = Image.open(im)
self.loc = 0
self.frames = []

try:
for i in count(1):
self.frames.append(ImageTk.PhotoImage(im.copy()))
im.seek(i)
except EOFError:
pass

try:
self.delay = im.info['duration']
except:
self.delay = 100

if len(self.frames) == 1:
self.config(image=self.frames[0])
else:
self.next_frame()

def unload(self):
self.config(image=None)
self.frames = None

def next_frame(self):
if self.frames:
self.loc += 1
self.loc %= len(self.frames)
self.config(image=self.frames[self.loc])
self.after(self.delay, self.next_frame)


Подробнее здесь: https://stackoverflow.com/questions/618 ... hon-turtle
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»