这就是我到目前为止。Python龟:我怎样才能使文本的轮廓黑色和填充白色?
turtle = turtle.Turtle()
turtle.hideturtle()
turtle.penup()
turtle.goto(-200, -300)
turtle.write("Hello World", move=False, align="left", font=("Candara", 30, "normal"))
我怎样才能使这个文本的轮廓黑色和填充白色?
这就是我到目前为止。Python龟:我怎样才能使文本的轮廓黑色和填充白色?
turtle = turtle.Turtle()
turtle.hideturtle()
turtle.penup()
turtle.goto(-200, -300)
turtle.write("Hello World", move=False, align="left", font=("Candara", 30, "normal"))
我怎样才能使这个文本的轮廓黑色和填充白色?
老实说,我不认为你可以。甲相当便宜的解决方法是选择一个等宽字体(如似曾相识国界单),并在两层印刷这样
turtle.write("Hello World", move=False, align="left", font=("Deja Vu Sans Mono", 30, "bold"))
turtle.color("white")
turtle.write("Hello World", move=False, align="left", font=("Deja Vu Sans Mono", 30, "normal"))
这里,第一层是黑色的,并具有粗体字,第二个是白色和使用正常的字体。这只会在字母的垂直边缘产生一个小的轮廓,而不是水平的轮廓,因为字体在设置为粗体时会保留其高度。
直到我们搞清楚这样做的正确的方式,如果有一个,让我们模拟一个轮廓字体:
from turtle import Turtle, Screen
STRING = "Hello World!"
FONT_SIZE = 60
DELTA_SIZE = 2
FONT = ("Ariel", FONT_SIZE, "normal")
OUTLINE_FONT = ("Ariel", FONT_SIZE + 2 * DELTA_SIZE, "bold")
screen = Screen()
turtle = Turtle(visible=False)
turtle.speed('fastest')
turtle.penup()
X, Y = -100, -300
turtle.goto(X, Y)
for letter in STRING:
turtle.color('black')
oldx = turtle.xcor()
turtle.write(letter, move=True, align="left", font=OUTLINE_FONT)
newx = turtle.xcor()
turtle.color(screen.bgcolor())
turtle.setposition(oldx + (newx - oldx) // 2, Y + DELTA_SIZE)
turtle.write(letter, align="center", font=FONT)
turtle.setposition(newx, Y)
screen.exitonclick()
这由字母重新排列字母和带有可变间距字体作品以及一个等宽字体。 (不好,一样好。)@以上快递60(等宽字体)矿Solvalou的解决方案:
归结到一点味道,你想多少精力投入到这个问题。
不是我期待的,但结果证明这是一个相当不错的解决方案,谢谢! – shm