我有两种解决这个问题的方法,在各种程序中都使用过。
第一种方法是对您的印章解决方案进行变化。而不是使用
screen.register_shape()
注册每条线的自定义多边形,使用正方形海龟,并对每条线使用
turtle.turtlesize()
将其缩放成所需的矩形,然后再进行印章:
from turtle import Turtle, Screen
STAMP_SIZE = 20
WIDTH, LENGTH = 25, 125
yertle = Turtle(shape="square")
yertle.penup()
yertle.turtlesize(WIDTH / STAMP_SIZE, LENGTH / STAMP_SIZE)
yertle.goto(100 + LENGTH//2, 100)
yertle.stamp()
screen = Screen()
screen.exitonclick()
当我需要画图而不是盖章时,我的另一种解决方案是进入海龟的tkinter支撑系统,并修改海龟硬编码的线条端点形状本身:
from turtle import Turtle, Screen
import tkinter as _
_.ROUND = _.BUTT
WIDTH, LENGTH = 25, 125
yertle = Turtle()
yertle.width(WIDTH)
yertle.penup()
yertle.goto(100, 100)
yertle.pendown()
yertle.forward(LENGTH)
screen = Screen()
screen.exitonclick()