记录一起走过的那些日子

2016年10月2日在一起到现在快6年了,也有了小宝宝,希望以后一家人开开心心,健康生活,各自实现自己的目标。

  • 上月陪你去买新的钻戒
  • 上周陪你去买新的对戒
  • 希望继续加油改善生活水平ヾ(✿゚▽゚)ノ

现在Python给你送个钻石戒指

最近在学Python,那也用代码送个钻石戒指给你吧,哈哈~

一、效果演示

二、制作步骤/过程

(一)绘制戒指

使用tkintercanvas画布绘制8个点,然后把这8个点使用canvas.create_line()划线函数用直线连接起来形成钻石形状。为了增强效果让钻石旋转起来,使用while循环,每隔一段时间重新绘制钻石,但绘制的起始角度偏转11.25度,这样运行程序钻石看上去就旋转起来了。

绘制好钻石后,再使用canvas.create_oval()绘制两个椭圆作为戒指环就可以了。

(二)绘制雪花

只有戒指单调了一点,来给画布添加点雪花。这里使用random.randint()函数每隔一段时间随机绘制50个10px大小的白色正方形,并绘制在画布上,这里看起来就好多了。这里绘制正方形使用到了canvas.create_rectangle()函数。

三、完整源代码文件

import time,random,math
from tkinter import Tk, Canvas# 打开窗口
def open_window():_root = Tk()_root.title("七夕,用Python给你送个钻石戒指")_root.config(bg='black')# 设置画板_canvas = Canvas(_root, width=640, height=380, bg='black')_canvas.pack()# 待窗口创建后,2秒后执行动画_root.after(2000, paint_canvas(_root, _canvas))_root.mainloop()# 启动动画函数
def paint_canvas(_tk, _canvas):# 设置钻石开始角度_start_angle = 0# 设置存放钻石八个点x,y坐标的列表_list_x, _list_y = [], []# 设置钻石八个点之间的角度_angel,钻石中心点x,y坐标_x_center,_y_center,钻石半径_r_angle, _x_center, _y_center, _r = 30, 320, 120, 50while True:# 清空画板_canvas.delete("all")# 画戒指paint_ring(_canvas, _start_angle, _angle, _x_center, _y_center, _r, _list_x, _list_y)_list_x.clear()_list_y.clear()# 从新计算钻石开始角度_start_angle = (_start_angle + 11.25) % 360# 画星星paint_star(_canvas)# 动画刷新时间间隔time.sleep(0.05)_canvas.update()_tk.update()# 画戒指函数
def paint_ring(_canvas, _start_angle, _angle, _x_center, _y_center, _r, _list_x, _list_y):_canvas.create_oval(180, 110, 460, 280, outline='white')_canvas.create_oval(190, 130, 450, 275, outline='white')for i in range(12):_list_x.append(_x_center + _r * math.cos((_start_angle + (_angle * i)) * math.pi / 180))_list_y.append(_y_center + _r * math.sin((_start_angle + (_angle * i)) * math.pi / 180))for i in range(12):for j in range(12):_canvas.create_line(_list_x[i], _list_y[i], _list_x[j], _list_y[j], fill='white')# 画雪花函数
def paint_star(_canvas):# 随机生成不超过画布长、宽的50个正方形点for i in range(50):x = random.randint(0, 630)y = random.randint(0, 370)_canvas.create_rectangle(x, y, x + 5, y + 5, fill='white')if __name__ == '__main__':# 打开程序窗口open_window()

七夕 | 情人节 | 用Python给你送个钻石戒指相关推荐

  1. 七夕情人节送TA一款时尚、迷你手机

    很快就到来的七夕情人节,你想应该送什么样的礼物给你的那个TA,什么能够带来惊喜的感觉?不想礼物很普通,价格又要合理,可又不想让自己的那个TA失望.那么,2013年的七夕情人节给力礼物你准备好了吗?还是 ...

  2. java找哪一天是星期几_七夕节是几月几日农历时间 2019年七夕情人节哪一天星期几...

    对于中国人来说,可以不记得2月14日是什么节日,但一定不会忘记牛郎和织女相传的节日"七夕情人节".那么2019年农历七月初七是几月几号呢? 七夕节是几月几日农历时间 2019年农历 ...

  3. 使用python的tkinter和turtle库函数制作七夕/情人节送对象的礼物

    闲来无事,用python制作了一个可以在七夕/情人节送对象的礼物,展示一把程序员的浪漫~ 男朋友的同门看到了之后表示,你女朋友好牛逼&浪漫 那么话不多说,我们这就开始吧! 1. 库函数包装 使 ...

  4. 【python教程入门学习】七夕情人节表白|Python程序员的花式表白

    七夕情人节马上到了,各位都准备了什么礼物?是不是想得头发都要掉了-- 那么本文就来给大家介绍几种用Python表白的姿势(绝不是画个爱心曲线啦-) 神马?你还在solo用不上?那不是更要收藏一波,以备 ...

  5. 七夕情人节送女朋友什么礼物?七夕情人节礼物推荐

    七夕情人节送女朋友什么礼物最好呢?七夕作为我们的传统情人节,当然送礼物要用心+浪漫啦,今天就给大家介绍几款干货满满的七夕礼物清单吧,有了这些再也不用担心不会挑礼物啦. 一.南卡runner pro3骨 ...

  6. 七夕情人节该送女朋友什么礼物,推荐五款让女朋友超惊喜的礼物

    七夕情人节又快到了,在这有爱的日子里,相信又有一大群男同胞不知该送女朋友什么礼物,又担心送到女朋友不喜欢的,但又不想敷衍了事,没关系,那就跟着我一起来看看这五款适合送给女朋友的礼物. 一.西圣F1气传 ...

  7. 送学妹的生日礼物~ 制作一个超浪漫的告白3D相册(HTML+CSS+JavaScript)520情人节/七夕情人节/程序员表白...

    ❉ 送学妹的生日礼物~ 制作一个超浪漫的告白3D相册(HTML+CSS+JavaScript) ​​一年一度的520情人节/七夕情人节/女朋友生日/程序员表白​​,是不是要给女朋友或者正在追求的妹子一 ...

  8. 七夕情人节送什么礼物给男朋友,超用心礼物清单

    还有五天就要到七夕啦~还没有挑好礼物下单,在七夕当天可能会不能及时到哦,别再犹豫送什么礼物啦~送给男生想要的礼物,送这几款准没错,送给男生的礼物要好玩.要有趣.要实用.要用心,下面是小编整理好的送给男 ...

  9. 七夕送女朋友什么礼物好?七夕情人节送礼物攻略

    越来越临近七夕情人节啦,大家都在挑什么送给对方的礼物呢?在逛各大网站逛的晕头转向,七夕礼物到底如何挑选,这真的是一个很难的问题,到底如何选择才能在七夕当天送出一份对方喜欢的礼物呢!下面推荐的这几款都是 ...

最新文章

  1. MATLAB 2014a (8.3) Compiler Runtime (MCR)
  2. 人为什么要睡觉?科学家给出进一步答案
  3. Python不用理解进程,线程实现多任务就是这么简单
  4. LeetCode Different Ways to Add Parentheses(递归,动态规划)
  5. 关于创建主键和索引的关系一个小小測试
  6. 【数据结构与算法】中缀表达式 - 后缀表达式 - 求值
  7. android自定义控件是一个 内部类 如何在xml中引用,android 自定义view属性
  8. DedeCMS 批量删除垃圾注册用户和垃圾文档
  9. ES6-04:函数的扩展
  10. SQLAlchemy数据库映射和使用
  11. log怎么用计算机求,手机计算器log怎么用
  12. Android studio添加依赖是什么意思以及添加依赖的方法
  13. php 执行opcode,PHP编译原理之Opcode ( Operation Code ) PHP代码执行过程
  14. Uni-app小程序问题汇总
  15. 完美破解StartUML软件
  16. xsstrike安装(仅供参考)
  17. 核范数与规则项参数选择
  18. mysql 8 expire_logs_days 废弃 启用binlog_expire_logs_seconds设置binlog自动清除日志时间 阿里云RDS暂时不支持
  19. 基于树莓派的人脸认证门禁
  20. 视频文件大小码率计算方法

热门文章

  1. 工学硕士翻译计算机,赫瑞瓦特大学中英翻译与计算机辅助翻译工具理科硕士入学条件及实习就业...
  2. 计算机组成原理实验二:运算器实验
  3. 神经网络编程的34个案例,java调用神经网络模型
  4. Excel 如何间隔N行取数
  5. 慢节奏的和府,能否掌握资本带来的“加速度”
  6. 使用ERP系统管理生产订单的具体流程
  7. 开源者的自我修养|为 ShardingSphere 贡献了千万行代码的程序员,后来当了 CEO
  8. 51单片机(ESP8266模块)
  9. 同花顺服务器文件夹,同花顺的文件目录.doc
  10. 配置clion用于stm32开发