无需多言,今年第一篇教大家点实用的
import turtle
# 定义画春联及背景的方法
def drawChunLianBg(startX=0, startY=0, lenX=100, lenY=100):
# 设置边框色和背景填充色
turtle.color('Yellow', 'OrangeRed')
# 抬笔,定位起点
turtle.pu()
turtle.goto(startX, startY)
# 落笔,绘制春联矩形框,并填充颜色
turtle.pd()
turtle.begin_fill()
for i in range(2):
turtle.fd(lenX)
turtle.rt(90)
turtle.fd(lenY)
turtle.rt(90)
turtle.end_fill()
# 结束抬笔
turtle.pu()
# 定义写入一个文字的方法
def writeWord(target_word, startx, starty):
# 基于坐标,打印单个汉字
turtle.color("black", "black")
# 抬笔定位
turtle.pu()
turtle.goto(startx, starty)
turtle.pd()
# 基于字体,打印汉字
turtle.write(target_word, move=False, align='left', font=('汉仪程行简', 24, 'normal'))
# 定义写入多个文字的方法
def writeWords(target_words, startx, starty, lineNum=1):
# 打印多个汉字,lineNum控制每行的汉字数,默认为1
# 向右、向下的偏移量
right_shift = 0
down_shift = 0
# 遍历打印汉字
for word in target_words:
writeWord(word, startx + right_shift * 45, starty - down_shift * 45)
right_shift += 1
# 判断是否要换行
if right_shift % lineNum == 0:
down_shift += 1
right_shift = 0
drawChunLianBg(-160, 215, 60, 330)
writeWords(target_words="龙跃华夏迎新岁", startx=-145, starty=175)
drawChunLianBg(90, 215, 60, 330)
writeWords(target_words="福照神州庆丰登", startx=105, starty=175)
drawChunLianBg(-110, 280, 210, 60)
writeWords(target_words="福满乾坤", startx=-90, starty=230, lineNum=4)
turtle.pu()
turtle.goto(0, 0)
turtle.done()