快速提问: 是否可以从PIL图像对象注册python乌龟形状? 最好不要将其另存为磁盘上的文件。
注意:我正在使用多个PIL对象。意思是我要同时加载多个图像,所以我需要可以同时处理多个形状的对象。 没有图像将被合并。 (只是澄清一下。)
还:是否可以创建一个诸如stdout之类的“假文件”?通常,这会派上用场。
这不是重复的。它不是在询问如何正常设置乌龟形状,而是在将其设置为PIL对象。与路径字符串不同。
答案 0 :(得分:0)
我已经拼凑了使用PIL创建乌龟光标图像所需的步骤(例如,从JPG中获取)。我在tkinter中嵌入乌龟,因为使用乌龟独立,您可以在设置Tk并失败之前轻松调用PIL的ImageTk:
from tkinter import *
from turtle import TurtleScreen, RawTurtle, Shape
from PIL import Image, ImageTk
def register_PIL(name, image):
photo_image = ImageTk.PhotoImage(image)
shape = Shape("image", photo_image)
screen._shapes[name] = shape # underpinning, not published API
root = Tk()
canvas = Canvas(root, width=500, height=500)
canvas.pack(fill=BOTH, expand=YES)
screen = TurtleScreen(canvas)
turtle = RawTurtle(screen)
image = Image.open("test.jpg")
register_PIL("aardvark", image)
turtle.shape("aardvark")
# ...
screen.mainloop()
您可以小心地对独立乌龟进行同样的操作。