大家好,我是辰哥~

今天就是七夕节,首先提前祝福有伴侣的小伙伴,七夕快乐,没有伴侣的小伙伴,今天就会找到伴侣,(给看到这句话的你好运加持,哈哈哈)。

作为会Python的我们必须做点好玩且有意义的东西。在本文中辰哥使用turtle库进行绘制,如果不清楚turtle的大概使用可以参考辰哥之前的一篇文章(520情人节|用Python跟‘喜欢的人’表白)。

本文的完整源码分享在文末,小伙伴可以自行运行以及修改,先看一下最终的图:

图中画的是:牛郎织女鹊桥相见的画面。下面来看绘制过程(牛郎织女相见过程):

01 绘制过程

下面辰哥开始讲解如何去绘制这个图(涉及的代码和图片都在后面分享)

首先定义三个画笔(t、t2、t3),t用于绘制桥和牛郎;t2用于绘制织女;t3用于写字和绘制月亮;

绘制桥身:

为了呈现3D效果,同样的需要再多绘制类似两条,效果如下:

给桥添加阶梯

这里定义了一个画横线的函数方法,通过传入画笔开始坐标(x,y),画笔向左偏转角度left,向右偏转角度right,以及绘制的线条长度。画笔的颜色改为灰色:gray

调用函数给桥画阶梯,其效果如下:

接着开始绘制牛郎织女,由于辰哥技术和绘画细胞有限,这里就采用照片形式

的牛郎织女。

这里辰哥在网上找了两张图片作为牛郎织女,并将其命名为:boy1.gif和girl1.gif(由于turtle仅支持gif格式图片,所以这里辰哥将图片格式改为gif)

添加好图片后的效果:

为了实现动态的效果(桥中间相见的画面),将两个图片同时往中间移动(调整位置)

将牛郎织女从桥两边移动到中间。

既然是七夕节,那肯定少不了一些文字去修饰。

文字:七夕今宵看碧霄,牵牛织女渡河桥

辰哥记得牛郎织女相见的画面有一个月亮的。既然都画到这里了,那肯定也少不了月亮。

这里同样的是添加一个名为yue1.gif的图片

效果:

到这里就差不多绘制完毕了。

02 最终动图

在最后再来看一下动图,感受完整的绘制过程。

七夕特别篇|用Python绘画牛郎织女在鹊桥相见的更多相关文章

  1. 【Python之路】特别篇--Python面向对象(进阶篇)

    上一篇<Python 面向对象(初级篇)>文章介绍了面向对象基本知识: 面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 的使用 类 是一个模板,模板中包装了多个“函数”供使 ...

  2. 番外特别篇之 为什么我不建议你直接使用UIImage传值?--从一个诡异的相册九图连读崩溃bug谈起

    关于"番外特别篇" 所谓"番外特别篇",就是系列文章更新期间内,随机插入的一篇文章.目前我正在更新的系列文章是 实现iOS图片等资源文件的热更新化.但是,这两天 ...

  3. 篇5 python自动化测试应用-Selenium环境篇

    篇5                            python自动化测试应用-Selenium环境篇 --lamecho 1.1概要 大家好!我是lamecho(辣么丑),从本篇开始我将开始 ...

  4. 一篇关于Python装饰器的博文

    这是一篇关于python装饰器的博文 在学习python的过程中处处受阻,之前的学习中Python的装饰器学习了好几遍也没能真正的弄懂.这一次抓住视频猛啃了一波,就连python大佬讲解装饰器起来也需 ...

  5. 登录界面 Android简单http get请求(含server端)五 iOS端(特别篇)

    </pre><pre name="code" class="objc">NSDictionary *dict=@{@"user ...

  6. python从零开始 -- 第2篇之python版本差异

    python从零开始 -- 第2篇之python版本差异 第0篇开始,咱们就说选择 python 3.x,一般来说,咱们面临选择的时候总是想了解更多一点,并且版本之间的对比能引申出很多有意思的故事和知 ...

  7. AI之路,第二篇:python数学知识2

    第二篇:python数学知识2 线性代数 导入相应的模块: >>> import numpy as np     (数值处理模块)>>> import scipy ...

  8. Python之路,第一篇:Python入门与基础

    第一篇:Python入门与基础 1,什么是python? Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. 2,python的特征: (1)易于学习,易于利用: (2)开 ...

  9. Python编程笔记(第一篇)Python基础语法

    一.python介绍 1.编程语言排行榜 TIOBE榜 TIOBE编程语言排行榜是编程语言流行趋势的一个指标,每月更新,这份排行榜排名基于互联网有经验的程序员.课程和第三方厂商的数量. 2.pytho ...

随机推荐

  1. liunx驱动之字符设备的注册

    上一篇文章学习了如何编写linux驱动,通过能否正常加载模块进行验证是否成功,有做过liunx应用开发的小伙伴都知道驱动会在'/dev'目录下以文件的形式展现出来,所以只是能加载驱动模块不能算是完成驱 ...

  2. Game游戏分析

    1.鲁棒图分析 2.系统上下文及交互方式 3.用例 4.逻辑拓扑图 5.物理拓扑图 6.时序图 7.状态图 8.物理数据模型 9.类图 10.技术选型 11.框架搭建 12.工具及通用服务 13.架构 ...

  3. shiro框架整合ssm框架

    下面我通过一个web的maven项目来讲解如何将shiro整合ssm框架,具体结构如下图 一.引入依赖的jar包 <?xml version="1.0" encoding=& ...

  4. linux学习之路第六天(文件目录类第二部分)

    文件目录类 1.cat指令 作用:查看文件内容,是以只读的方式打开. 基本语法 cat [选项] 要查看的文件 常用选项 -n; 使用细节: cat只能浏览文件,而不能修改文件,通常会和more一起使 ...

  5. linux驱动之LED驱动

    通过之前的学习,了解到linux驱动编写的流程是:先通过注册函数注册我们编写的入口函数,然后在入口函数中获取设备号->注册字符设备->自动创建设备节点->获取设备树信息,最后通过销毁 ...

  6. ctf之抄错的字符

    题目信息如图所示 得知该题为密码学问题 像英文的字母有 i=1,g=9,s=5,z=2 还有部分小写抄成了大写,搜索一段php代码测试 <?php $list=[]; function fun( ...

  7. Kubernetes部署-二进制方式

    环境配置 一.系统环境 序号 用途 系统 Docker版本 IP地址 1 Master CentOS Linux release 7.6.1810 (Core) 19.03.4 192.168.0.1 ...

  8. spring pom文件报错:提示no declaration can be found for element 'dubbo:service'.

    转自:http://blog.csdn.net/happylife_haha/article/details/52755425 pom文件报错:The matching wildcard is str ...

  9. SpringBoot总结之属性配置

    一.SpringBoot简介 SpringBoot是spring团队提供的全新框架,主要目的是抛弃传统Spring应用繁琐的配置,该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配 ...

  10. 算法leetcode_分治算法

    一.基本概念 在计算机科学中,分治法是一种很重要的算法.字面上的解释是"分而治之",就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题--直到最后子 ...