目录
前言
一、创建画布
二、绘制福字的外框
三、绘制“福”字
前言
这不今天是除夕了,祝大家除夕快乐哈!今天我来教大家一个有趣的东西,用Tkinter(有turtle我就是不用,就用Canvas,就是玩哎嘿)画福字!听起来挺应景的哈
我们都知道Tkinter有一个类叫做Canvas,画布类,在这里就不多说了,有兴趣的小伙伴可以去看看我的另外一篇文章,链接给你们摊在这:
Python Tkinter Canvas的使用
首先,我们为了更方便一点,就把画布定为200x200吧,300x300有点大,100x100有点小
调整Canvas大小可以用**kw中的width和height,好,代码如下:
from tkinter import *
master=Tk()
canvas=Canvas(master,bg='white',width=200,height=200)
canvas.pack()
这样就可以生成一个如下的白色画布窗口:
之所众周,Canvas.create_rectangle可以绘制矩形,但是……
你们有没有发现,福字的外框是个菱形??
那是不是只能凉拌了?
Canvas.create_polygon:你瞧不起我?
没错,Canvas.create_polygon应该是最好的办法了,绘制多边形
经过我的测算,最符合(好)比例(看)的菱形应该是这个坐标:
25,100,100,25,175,100,100,175
因为菱形有四个角,所以这串数代表x1,y1,x2,y2,x3,y3,x4,y4
我的Python Tkinter Canvas如何使用一文中,有一个表格:
这其中有两个我们正好能用到!他们就是fill和outline
首先福字我们要选暖色系吧,一说到暖色系,你就会想到红色,黄色,橙色对八?那我们就选黄色作为outline,红色作为fill吧,代码如下:
from tkinter import *
master=Tk()
canvas=Canvas(master,bg='white',width=200,height=200)
canvas.pack()
canvas.create_polygon(25,100,100,25,175,100,100,175,outline='yellow',fill='red')
这样就可以生成如下的画布:
很好,你已经要成功了
Canvas类中有一个方法专门用来绘制文字,那就是——Canvas.create_text!
我们要绘制“福”字,text当然是'福'了啊
然后这个地方我试过outline会报错,fill不会,我们就用fill填充黄色吧!
再就是字体大小的问题,字体用楷体,大小的话我试过用70刚刚好
然后是坐标的问题,如果是87.5,87.5的话会超出去一点,用100,100刚刚好
最后,代码如下:
from tkinter import *
master=Tk()
canvas=Canvas(master,bg='white',width=200,height=200)
canvas.pack()
canvas.create_polygon(25,100,100,25,175,100,100,175,outline='yellow',fill='red')
canvas.create_text(100,100,text='福',font=('楷体',70),fill='yellow')
这样就会画一个福字辣:
总结
这就是这篇文章要讲的内容辣,观众们可以洗洗睡了~
最后再次祝大家除夕快乐!
非喜勿喷!!