儿童编程与艺术儿童编程Scratch2我爱编程

用Python写书法作品,WOW!

2018-07-17  本文已影响4人  一石匠人

今天尝试了用Python代码完成书法作品(包括印章制作和书法写字)。发现了编程与艺术又一个契合点,小开心一下。其实这个过程非常简单。我们先看作品,后讲解代码。

Python书法作品1 Python书法作品2

下面我们讲解一下原理和制作步骤。

准备工作:

1.下载并安装相关字体(一般印章用篆体,书法用毛笔体,网上很多可以免费下载);

2.熟悉Python turtle的基本语句(包括write语句)

印章的制作:

画框+输入篆体字。这个过程需要调好坐标,可以在反复尝试的过程中得到最佳结果。要注意印章中字的顺序,同时注意是阴刻(字是白色、背景红色)还是阳刻。阴刻需要先用红色填充在写白色篆字。

毛笔字书写:

调好坐标,用write语句输出即可。如果是竖排文字,每个字后面都要加上换行符‘\n’。

代码如下图所示,上面第一个效果图是action()函数的结果,第二个效果图是action2()函数的结果。

Python写书法代码

你当然可以在代码中更改字体、字号、颜色、布局,创造属于你自己的书法作品。

几行代码就能完成书法作品,是不是很爽?!

代码附在下面,方便大家拷贝:

from turtle import *

def writeT(mystr,fontsize=60):

        pendown()

        write(mystr,font=('沙孟海书法字体',fontsize,'normal'))

         penup()

def yinzhang():

        pensize(2)

        pencolor('red')

        pendown()

        for i in range(4):

                  forward(56)

                   left(90)

         write('匠一\n人石',font=('经典繁方篆',20,'normal'))

          penup()

def yinzhang2():

           pensize(3)

           pencolor('white')

           fillcolor('red')

           begin_fill()

           for i in range(4):

                    forward(56)

                     left(90)

             end_fill()

            write('匠一\n人石',font=('经典繁方篆',20,'normal'))

           penup()

def action():

         penup()

          goto(30,-200)

           writeT('用\n心\n若\n镜',60)

           goto(-70,-200) writeT('胜\n物\n不\n伤',60)

           goto(-140,0)

           writeT('一\n石',15)

           goto(-160,-70)

          yinzhang()

           goto(-160,-140)

           yinzhang2()

            hideturtle()

def action2():

           penup()

           goto(30,-200)

            write('无\n用\n之\n用',font=('迷你繁篆书',70,'normal'))

            goto(-70,-200)

            write('是\n为\n大\n用',font=('迷你繁篆书',70,'normal'))

           goto(-140,0)

           writeT('一\n石',15)

            goto(-160,-70)

            yinzhang()

           goto(-160,-140)

           yinzhang2()

          hideturtle()

上一篇下一篇

猜你喜欢

热点阅读