如何将海龟的形状设置为 PIL 图像
How do you set a turtle's shape to a PIL image
快速提问:
是否可以从 PIL 图像对象注册 python 海龟形状?
最好不要将其保存为磁盘上的文件。
注意:我正在使用多个 PIL 对象。我的意思是我同时加载了多个图像,所以我需要可以同时处理多个形状的东西。
不会合并任何图像。 (只是为了澄清。)
另外:是否可以创建一个 'fake file' 之类的 stdout 之类的东西?一般来说,这会派上用场。
这不是重复的。它不是在询问如何正常设置海龟形状,而是关于如何将其设置为 PIL 对象。这与路径字符串不同。
我已经拼凑了使用 PIL(例如来自 JPG)创建海龟光标图像所需的步骤。我在 tkinter embedded turtle 中使用 turtle standalone 你可以在 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()
您可以小心地对独立乌龟执行相同的操作。
快速提问: 是否可以从 PIL 图像对象注册 python 海龟形状? 最好不要将其保存为磁盘上的文件。
注意:我正在使用多个 PIL 对象。我的意思是我同时加载了多个图像,所以我需要可以同时处理多个形状的东西。 不会合并任何图像。 (只是为了澄清。)
另外:是否可以创建一个 'fake file' 之类的 stdout 之类的东西?一般来说,这会派上用场。
这不是重复的。它不是在询问如何正常设置海龟形状,而是关于如何将其设置为 PIL 对象。这与路径字符串不同。
我已经拼凑了使用 PIL(例如来自 JPG)创建海龟光标图像所需的步骤。我在 tkinter embedded turtle 中使用 turtle standalone 你可以在 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()
您可以小心地对独立乌龟执行相同的操作。