鱼C论坛

 找回密码
 立即注册
123
返回列表 发新帖
楼主: 小甲鱼

[Tkinter] Tkinter 窗口组件:Canvas

  [复制链接]
发表于 2019-8-14 16:40:40 | 显示全部楼层
如何保存所画的图像为图片
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-8-28 16:46:22 | 显示全部楼层
辛苦了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-7 15:09:45 | 显示全部楼层

请问一下,你的问题如如何解决的?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-7 15:31:06 | 显示全部楼层
yuetengfei 发表于 2020-3-7 15:09
请问一下,你的问题如如何解决的?

还有就是,这个弧线能取某一段吗?我看他这个只能按角度取,都只能从0度开始,能不能从10度开始到170度结束呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-13 11:26:06 | 显示全部楼层
请问,python中有内置的cos和sin函数吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-20 15:51:35 | 显示全部楼层
aaron.yang 发表于 2020-3-13 11:26
请问,python中有内置的cos和sin函数吗?

math 模块里有,import math 然后可以用 math.sin(x), cos 函数可以用sin 函数表示
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-5 18:22:23 | 显示全部楼层
嗯,还蛮长的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-12 21:40:48 | 显示全部楼层
这个里面的弧线和园的位置怎么计算的呀,四个参数分别对应x1,y1,x2,y2吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-15 09:01:04 | 显示全部楼层
from tkinter import *
import math as m

root=Tk()

w=Canvas(root,width=200,height=300)
w.pack()
#头部
w.create_oval(40,17,160,136,fill='deepskyblue')
w.create_oval(50,37,150,136,fill='white')
#眼睛
w.create_oval(75,27,100,50,outline='black',fill='white')
w.create_oval(100,27,125,50,outline='black',fill='white')

w.create_oval(88,34,96,43,fill='black')
w.create_oval(104,34,112,43,fill='black')

w.create_oval(92,37,94,40,fill='white')
w.create_oval(106,37,108,40,fill='white')

#鼻子
w.create_oval(92,44,108,60,fill='red')
w.create_oval(95,46,101,52,fill='white')

#嘴
w.create_line(100,60,100,105,fill='black',width=1)
w.create_arc(60,52,140,105,start=190,extent=160,style=ARC)
#胡子
w.create_line(60,57,90,65,fill='black')
w.create_line(110,67,140,55,fill='black')

w.create_line(58,72,90,72,fill='black')
w.create_line(110,74,142,70,fill='black')

w.create_line(58,84,90,80,fill='black')
w.create_line(110,82,142,82,fill='black')


#手臂
points1=[
    (125,127),
    (140,135),
    (144,140),
    (150,150),
    (155,165),
    (152,167),
    (147,168),
    ]
points2=[
    (75,127),
    (60,135),
    (56,140),
    (50,150),
    (45,165),
    (48,167),
    (53,168),
    ]
w.create_oval(140,159,160,179,fill='white')
w.create_oval(60,159,40,179,fill='white')
w.create_polygon(points1,fill='deepskyblue',outline='black')
w.create_polygon(points2,fill='deepskyblue',outline='black')

#脚
w.create_oval(55,200,110,225,fill='white')
w.create_oval(90,200,145,225,fill='white')
w.create_rectangle(70,200,120,221,outline='white',fill='white')



#身体
w.create_rectangle(70,130,130,205,fill='deepskyblue')
w.create_arc(55,130,88,205,start=100,extent=180,fill='deepskyblue',outline='deepskyblue')
w.create_arc(112,130,145,205,start=280,extent=180,fill='deepskyblue',outline='deepskyblue')

w.create_arc(55,130,88,205,start=150,extent=110,outline='black',style=ARC,width=1)
w.create_arc(112,130,145,205,start=280,extent=110,outline='black',style=ARC,width=1)

#腿
w.create_line(100,198,100,222)
w.create_arc(75,198,125,220,start=70,extent=40,outline='black',style=ARC)

#肚子
w.create_oval(62,132,138,193,fill='white')
w.create_arc(70,128,130,183,start=183,extent=174,fill='white')

#项圈
w.create_line(62,131,138,131,fill='black',capstyle=ROUND,width=9)
w.create_line(62,131,138,131,fill='red',capstyle=ROUND,width=7)
w.create_oval(92,131,108,147,fill='yellow')

w.create_oval(98,139,102,143,fill='brown')
w.create_line(100,142,100,147,fill='brown')

w.create_line(91,136,109,136,fill='black',width=3)
w.create_line(92,136,108,136,fill='yellow',width=1)
mainloop()


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-3-20 23:39:06 | 显示全部楼层
我是小甲鱼二号
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-19 19:05:11 | 显示全部楼层
Leozhanggg 发表于 2017-7-26 15:02
from tkinter import *

root = Tk()

请问怎么确定各部位的开始和结束的点呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-1-26 16:17:21 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-5-31 22:03:44 | 显示全部楼层
from  tkinter import *

root = Tk()

w = Canvas(root, width=400, height=400)
w.pack()

#中轴线
w.create_line(50, 200, 350, 200,dash=(2,4))
w.create_line(200, 50, 200, 350,dash=(2,4))

#头
w.create_oval(120, 70, 280, 225, fill="dodgerblue")
w.create_oval(135, 100, 265, 225, fill="white")
#眼睛
w.create_oval(165, 80, 200, 120, fill="white")
w.create_oval(200, 80, 235, 120, fill="white")
w.create_oval(185, 92, 195, 107, fill="black")
w.create_oval(205, 92, 215, 107, fill="black")
w.create_oval(188, 96, 192, 104, fill="white")
w.create_oval(208, 96, 212, 104, fill="white")
#鼻子
w.create_oval(193, 110, 207, 124, fill="red")
#嘴巴
w.create_line(200, 122, 200, 182, fill="black")
w.create_line(165, 170, 200, 195, 235, 170, smooth=True, fill="black", splinesteps=50)
#胡须
w.create_line(160, 122, 190, 132, fill="black")
w.create_line(150, 142, 190, 142, fill="black")
w.create_line(155, 162, 190, 152, fill="black")

w.create_line(210, 132, 240, 122, fill="black")
w.create_line(210, 142, 250, 142, fill="black")
w.create_line(210, 152, 245, 162, fill="black")

#衣服
w.create_rectangle(140, 205, 260, 300, fill="dodgerblue")
w.create_oval(155, 190, 245, 280, fill="white")
w.create_arc(170, 205, 230, 265, style=CHORD, extent=-180)
w.create_arc(170, 185, 230, 235, style=CHORD, extent=180, fill="white",outline="white")

#围巾铃铛
w.create_line(140, 200,260, 200, fill="red",capstyle=ROUND, width=10)
w.create_oval(190, 198, 210, 218, fill="yellow")
w.create_rectangle(190, 205, 210, 208, fill="")
w.create_oval(198, 211, 203, 215, fill="red")
w.create_line(200, 215, 200, 218, fill="black")
#脚
w.create_arc(185, 285, 215, 310, style=CHORD, extent=180,fill="white")
w.create_line(185, 299, 215, 299, fill="white", width=3)
w.create_oval(130, 290, 190, 315, fill="white")
w.create_oval(210, 290, 270, 315, fill="white")
#手
w.create_polygon(100, 240, 140, 204, 140, 240, 110, 260, fill="dodgerblue",outline="black")
w.create_polygon(260, 240, 260, 204, 300, 240, 290, 260, fill="dodgerblue",outline="black")
w.create_line(140, 205, 140, 235,fill="dodgerblue")
w.create_line(260, 205, 260, 235,fill="dodgerblue")
w.create_oval(95, 230, 125, 260, fill="white")
w.create_oval(275, 230, 305, 260, fill="white")
w.create_text(200,250,text="测试",fill="purple", font="楷体")
w.create_text(110,245,text="测",fill="purple")
w.create_text(290,245,text="试",fill="purple")

mainloop()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-22 12:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表