用Python寫書法作品,WOW!

今天嘗試了用Python代碼完成書法作品(包括印章制作和書法寫字)。發(fā)現(xiàn)了編程與藝術(shù)又一個契合點,小開心一下。其實這個過程非常簡單。我們先看作品,后講解代碼。

Python書法作品1
Python書法作品2

下面我們講解一下原理和制作步驟。

準備工作:

1.下載并安裝相關(guān)字體(一般印章用篆體,書法用毛筆體,網(wǎng)上很多可以免費下載);

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

印章的制作:

畫框+輸入篆體字。這個過程需要調(diào)好坐標,可以在反復(fù)嘗試的過程中得到最佳結(jié)果。要注意印章中字的順序,同時注意是陰刻(字是白色、背景紅色)還是陽刻。陰刻需要先用紅色填充在寫白色篆字。

毛筆字書寫:

調(diào)好坐標,用write語句輸出即可。如果是豎排文字,每個字后面都要加上換行符‘\n’。

代碼如下圖所示,上面第一個效果圖是action()函數(shù)的結(jié)果,第二個效果圖是action2()函數(shù)的結(jié)果。

Python寫書法代碼

你當然可以在代碼中更改字體、字號、顏色、布局,創(chuàng)造屬于你自己的書法作品。

幾行代碼就能完成書法作品,是不是很爽?!

代碼附在下面,方便大家拷貝:

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=('經(jīng)典繁方篆',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=('經(jīng)典繁方篆',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()

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容