大家好,我是辰哥~

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

作为会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. 16、lnmp_mysql二进制安装

    16.1.lnmp介绍: lnmp架构,linux的php的程序架构: linux nginx MySQL PHP; # lamp:linux apache mysql php; 16.2.mysql ...

  2. shell 调用其他shell脚本中的变量、函数

    在Shell中要如何调用别的shell脚本,或别的脚本中的变量,函数呢? 方法一:   . ./subscript.sh  (两个点之间,有空格) 方法二:   source ./subscript. ...

  3. com.rabbitmq.client.impl.Frame.readFrom(Frame.java:95)

    RabbitMQ 基于Erlang 实现, 客户端可以用Python | Java | Ruby | PHP | C# | Javascript | Go等语言来实现.这里做个java语言的测试.首先 ...

  4. 单选按钮(radio)的取值和点击事件

    笔记走一波:获取单选按钮(radio)的选中值,以及它的点击事件的实现 首先要引入Jquery <script type="text/javascript" src=&quo ...

  5. 整理C#获取日期显示格式

    C#获取当前日期的几种显示格式 有时候需要用一些不常用的日期格式时,总是要去网上查找,很多都是复制粘贴,还不完整.就整理一下. DatetimeTextBox.Text += DateTime.Now ...

  6. Linux | 配置主机名称

    配置主机名称 为了便于在局域 网中查找某台特定的主机,或者对主机进行区分,除了要有 IP 地址外,还要为主机配置一个主机名,主机之间可以通过这个类似于域名的名称来相互访问. 在 Linux 系统中,主 ...

  7. LeetCode解题记录(贪心算法)(二)

    1. 前言 由于后面还有很多题型要写,贪心算法目前可能就到此为止了,上一篇博客的地址为 LeetCode解题记录(贪心算法)(一) 下面正式开始我们的刷题之旅 2. 贪心 763. 划分字母区间(中等 ...

  8. 基于Mininet的网络拓扑搭建代码

    1 import logging 2 import os 3 import time 4 import thread 5 import multiprocessing 6 7 from mininet ...

  9. python pyinsane应用

    import sys from PIL import Image try: import src.abstract as pyinsane except ImportError: import pyi ...

  10. 手把手教你在Modelarts平台上进行视频推理

    摘要:为了方便小伙伴们进行视频场景的AI应用开发,Modelarts推理平台将视频推理场景中一些通用的流程抽取出来预置在基础镜像中,小伙伴们只需要简单地编写预处理及后处理脚本,便可以像开发图片类型的A ...