Python-canvas

用canvas画了一个多啦A梦(其实就是一直在调位置)

它长成这样:
在这里插入图片描述
代码如下:

from tkinter import *
import math as m

root = Tk()

w = Canvas(root, width=400, height=400, background="white")
w.pack()
w.create_line(0, 200, 400, 200, dash=(4, 4))
w.create_line(200, 0, 200, 400, dash=(4, 4))
# 头部
w.create_oval(120, 60, 280, 220, fill="#0092ef")
w.create_oval(135, 90, 265, 220, fill="white")
# 眼眶
w.create_oval(170, 75, 200, 115, fill="white")
w.create_oval(200, 75, 230, 115, fill="white")
# 眼珠
w.create_oval(188, 89, 198, 101, fill="black")
w.create_oval(202, 89, 212, 101, fill="black")
# 眼珠中白色
w.create_oval(191, 92, 195, 98, fill="white")
w.create_oval(205, 92, 209, 98, fill="white")
# 鼻子
w.create_oval(192, 109, 208, 125, fill="#ff0b00")

w.create_line(200, 125, 200, 180)
#嘴巴
coor1 = (160, 140, 240, 180)
w.create_arc(coor1, start=-25, extent=-125, style=ARC)
# start是开始绘制的角度,extent是从开始处共要绘制的度数,水平超右是0°,逆时针增加
# 胡子们
w.create_line(147, 140, 185, 140)
w.create_line(215, 140, 253, 140)

w.create_line(150, 120, 185, 130)
w.create_line(215, 130, 250, 120)
w.create_line(150, 160, 185, 150)
w.create_line(215, 150, 250, 160)
# 身子
w.create_rectangle(145, 200, 255, 295, fill="#0092ef")
# 肚皮
w.create_oval(155, 185, 245, 275, fill="white")
coor2 = (155, 185, 245, 275)
w.create_arc(coor2, start=38, extent=100, style=ARC, outline="white", width=2)
# 领带铃铛
w.create_line(145, 200, 255, 200, capstyle="round", width=8, fill="#fe1906")
w.create_oval(190, 200, 210, 220, fill="#f2f60b")
w.create_rectangle(190, 207, 210, 210)
w.create_oval(198, 212, 202, 217, fill="#ce373c")
w.create_line(200, 217, 200, 220)
# 口袋
coor3 = (168, 198, 232, 262)
w.create_arc(coor3, start=0, extent=-180, style=CHORD)

coor4 = (190, 285, 210, 305)
w.create_arc(coor4, fill="white", start=0, extent=180, style=CHORD)
w.create_line(190, 295, 210, 295, fill="white")
# 脚丫子
w.create_oval(133, 282, 193, 308, fill="white")
w.create_oval(207, 282, 267, 308, fill="white")
# 手臂
point = [
    145, 203,
    145, 240,
    135, 245,
    118, 230
]
w.create_polygon(point, fill="#0093f0", outline="black")
point = [
    255, 203,
    255, 240,
    265, 245,
    281, 230
]
w.create_polygon(point, fill="#0093f0", outline="black")
# 手掌
w.create_oval(105, 225, 135, 255, fill="white")
w.create_oval(265, 225, 295, 255, fill="white")
mainloop()

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值