鱼C论坛

 找回密码
 立即注册
查看: 5636|回复: 97

[作品展示] tk 五星红旗

[复制链接]
发表于 2020-8-30 11:12:45 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 昨非 于 2020-9-20 09:08 编辑

别问,问就是拿(闲)头(的)算(蛋)的(疼)


咳咳,昨天刚刚看到tkinter的canvas,小甲鱼老师画了个星星,一时兴(脑)起(瘫)

注:代码毫无技术含量,分享出来只是觉得比较有意思,权当给大家讲个笑话:竟然有个铁憨憨拿tk画国旗

国旗标准规格:

                               
登录/注册后可看大图


我的效果图:

                               
登录/注册后可看大图


代码如下:

  1. """
  2. tkinter.canvas
  3. 中华人民共和国国旗是五星红旗:旗面为红色,长方形,其长与高为三与二之比,
  4. 旗面左上方缀黄色五角星五颗。一星较大,其外接圆直径为旗高十分之三,居左;
  5. 四星较小,其外接圆直径为旗高十分之一,环拱于大星之右
  6. 作者:昨非
  7. """
  8. import tkinter as tk
  9. import math as m

  10. root = tk.Tk()

  11. w = tk.Canvas(root,width=600,height=400,background="red") #旗面
  12. w.pack()

  13. center_x_1 = 100  #主星
  14. center_y_1 = 100
  15. r1 = 60 #主星半径
  16. star1=[
  17.         #左上点
  18.         center_x_1 - int(r1*m.sin(2*m.pi/5)),
  19.         center_y_1 - int(r1*m.cos(2*m.pi/5)),        
  20.         #右上点
  21.         center_x_1 + int(r1*m.sin(2*m.pi/5)),
  22.         center_y_1 - int(r1*m.cos(2*m.pi/5)),        
  23.         #左下点
  24.         center_x_1 - int(r1*m.sin(m.pi/5)),
  25.         center_y_1 + int(r1*m.cos(m.pi/5)),      
  26.         #顶点
  27.         center_x_1,
  28.         center_y_1 - r1,        
  29.         #右下点
  30.         center_x_1 + int(r1*m.sin(m.pi/5)),
  31.         center_y_1 + int(r1*m.cos(m.pi/5)),      
  32.         ]

  33. r2 = 20#副星半径
  34. center_x_2 = 200 #副星一
  35. center_y_2 = 40
  36. star2=[
  37.        #左上点
  38.         center_x_2 - int(r2*m.cos(2*m.pi/5+m.atan(0.6))),#√
  39.         center_y_2 + int(r2*m.sin(2*m.pi/5+m.atan(0.6))),#√      
  40.         #右上点
  41.         center_x_2 - int(r2*m.cos(2*m.pi/5-m.atan(0.6))),#√
  42.         center_y_2 - int(r2*m.sin(2*m.pi/5-m.atan(0.6))),#√        
  43.         #左下点
  44.         center_x_2 + int(r2*m.cos(m.pi/5-m.atan(0.6))),
  45.         center_y_2 + int(r2*m.sin(m.pi/5-m.atan(0.6))),      
  46.         #顶点
  47.         center_x_2 - int(r2*m.cos(m.atan(0.6))), #√
  48.         center_y_2 + int(r2*m.sin(m.atan(0.6))), #√      
  49.         #右下点
  50.         center_x_2 + int(r2*m.cos(m.pi/5+m.atan(0.6))),
  51.         center_y_2 - int(r2*m.sin(m.pi/5+m.atan(0.6))),   
  52.        ]

  53. center_x_3 = 240  #副星二
  54. center_y_3 = 80
  55. star3=[
  56.        #左上点
  57.         center_x_3 - int(r2*m.cos(2*m.pi/5+m.atan(1/7))),#√
  58.         center_y_3 + int(r2*m.sin(2*m.pi/5+m.atan(1/7))),#√      
  59.         #右上点
  60.         center_x_3 - int(r2*m.cos(2*m.pi/5-m.atan(1/7))),#√
  61.         center_y_3 - int(r2*m.sin(2*m.pi/5-m.atan(1/7))),#√        
  62.         #左下点
  63.         center_x_3 + int(r2*m.cos(m.pi/5-m.atan(1/7))),#√
  64.         center_y_3 + int(r2*m.sin(m.pi/5-m.atan(1/7))), #√      
  65.         #顶点
  66.         center_x_3 - int(r2*m.cos(m.atan(1/7))), #√
  67.         center_y_3 + int(r2*m.sin(m.atan(1/7))), #√      
  68.         #右下点
  69.         center_x_3 + int(r2*m.cos(m.pi/5+m.atan(1/7))),
  70.         center_y_3 - int(r2*m.sin(m.pi/5+m.atan(1/7))),   
  71.        ]

  72. center_x_4 = 240  #副星三
  73. center_y_4 = 140
  74. star4=[
  75.        #左上点
  76.         center_x_4 - int(r2*m.cos(2*m.pi/5-m.atan(2/7))),
  77.         center_y_4 + int(r2*m.sin(2*m.pi/5-m.atan(2/7))),     
  78.         #右上点
  79.         center_x_4 - int(r2*m.cos(2*m.pi/5+m.atan(2/7))),#√
  80.         center_y_4 - int(r2*m.sin(2*m.pi/5+m.atan(2/7))),#√        
  81.         #左下点
  82.         center_x_4 + int(r2*m.cos(m.pi/5+m.atan(2/7))),
  83.         center_y_4 + int(r2*m.sin(m.pi/5+m.atan(2/7))),      
  84.         #顶点
  85.         center_x_4 - int(r2*m.cos(m.atan(2/7))), #√
  86.         center_y_4 - int(r2*m.sin(m.atan(2/7))), #√      
  87.         #右下点
  88.         center_x_4 + int(r2*m.cos(m.pi/5-m.atan(2/7))),
  89.         center_y_4 - int(r2*m.sin(m.pi/5-m.atan(2/7))),   
  90.        ]

  91. center_x_5 = 200  #副星四
  92. center_y_5 = 180
  93. star5=[
  94.        #左上点
  95.         center_x_5 - int(r2*m.cos(2*m.pi/5-m.atan(4/5))),#√
  96.         center_y_5 + int(r2*m.sin(2*m.pi/5-m.atan(4/5))),#√      
  97.         #右上点
  98.         center_x_5 - int(r2*m.cos(2*m.pi/5+m.atan(4/5))),#√
  99.         center_y_5 - int(r2*m.sin(2*m.pi/5+m.atan(4/5))),#√        
  100.         #左下点
  101.         center_x_5 + int(r2*m.cos(m.pi/5+m.atan(4/5))),#√
  102.         center_y_5 + int(r2*m.sin(m.pi/5+m.atan(4/5))), #√      
  103.         #顶点
  104.         center_x_5 - int(r2*m.cos(m.atan(4/5))), #√
  105.         center_y_5 - int(r2*m.sin(m.atan(4/5))), #√      
  106.         #右下点
  107.         center_x_5 + int(r2*m.cos(m.pi/5-m.atan(4/5))),
  108.         center_y_5 - int(r2*m.sin(m.pi/5-m.atan(4/5))),   
  109.        ]

  110. stars=[star1,star2,star3,star4,star5]
  111. for star in stars:
  112.     w.create_polygon(star,outline="",fill="yellow")

  113. tk.mainloop()
复制代码



游客,如果您要查看本帖隐藏内容请回复


如果你笑了,还请评个分呗

评分

参与人数 7荣誉 +20 鱼币 +13 贡献 +7 收起 理由
严凯 + 5 + 3 感谢楼主无私奉献!
青松100 + 1 + 1 鱼C有你更精彩^_^
开心小傻猪 + 1 + 1 鱼C有你更精彩^_^
my少年时代 + 1 + 1 鱼C有你更精彩^_^
我真的是个好人 + 5 + 5 + 3 鱼C有你更精彩^_^
aaron.yang + 2 + 1 鱼C有你更精彩^_^
nizitao + 5 + 5 如果你笑了,还请评个分呗(没贡献了)

查看全部评分

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

使用道具 举报

 楼主| 发表于 2020-9-19 22:45:46 | 显示全部楼层
欢迎到新贴围观+评论+白嫖+评分支持
【详解】python信息管理系统
https://fishc.com.cn/thread-180487-1-1.html
(出处: 鱼C论坛)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-30 11:38:04 | 显示全部楼层

回帖奖励 +3 鱼币

老哥牛逼啊(无yygq
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-30 11:43:54 | 显示全部楼层

回帖奖励 +3 鱼币

感觉TK好复杂,没用过,不知道pyside2能不能画出来这样的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-30 11:53:08 | 显示全部楼层
回帖没鱼币
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-30 12:05:14 | 显示全部楼层
疾风怪盗 发表于 2020-8-30 11:43
感觉TK好复杂,没用过,不知道pyside2能不能画出来这样的

主要视频里讲了tk,emm,表示你说的那个我也没用过
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-30 12:05:50 | 显示全部楼层

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

使用道具 举报

发表于 2020-8-30 12:23:05 | 显示全部楼层
看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-8-30 13:21:12 | 显示全部楼层
开心小傻猪 发表于 2020-8-30 11:38
老哥牛逼啊(无yygq)

这表情还不算吗

评分

参与人数 1荣誉 +1 鱼币 +1 收起 理由
开心小傻猪 + 1 + 1 嘿嘿

查看全部评分

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

使用道具 举报

发表于 2020-8-30 13:21:43 | 显示全部楼层
昨非 发表于 2020-8-30 13:21
这表情还不算吗

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

使用道具 举报

发表于 2020-8-30 13:51:35 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-8-30 15:30:51 | 显示全部楼层
一方面是练技术,另一方面是表示对祖国的热爱,挺好的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-30 15:36:41 | 显示全部楼层

回帖奖励 +3 鱼币

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

使用道具 举报

 楼主| 发表于 2020-8-30 16:06:18 | 显示全部楼层
wrw5192 发表于 2020-8-30 15:30
一方面是练技术,另一方面是表示对祖国的热爱,挺好的

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

使用道具 举报

 楼主| 发表于 2020-8-30 16:08:28 | 显示全部楼层

这不评个分再走?(单纯想要贡献)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-30 16:33:15 | 显示全部楼层

回帖奖励 +3 鱼币

被鱼币吸引进来,被操作折服
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-30 16:35:40 | 显示全部楼层
开心超仁 发表于 2020-8-30 16:33
被鱼币吸引进来,被操作折服

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

使用道具 举报

发表于 2020-8-30 16:38:08 | 显示全部楼层

没骂没骂(换个友好的表情)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-30 16:49:44 | 显示全部楼层
开心超仁 发表于 2020-8-30 16:38
没骂没骂(换个友好的表情)

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

使用道具 举报

发表于 2020-8-30 18:02:25 | 显示全部楼层

回帖奖励 +3 鱼币

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

使用道具 举报

发表于 2020-8-30 18:56:38 | 显示全部楼层
昨非 发表于 2020-8-30 13:21
这表情还不算吗

新鱼友无法评分哦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-26 19:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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