這就是我到目前爲止。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