iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >【中秋征文】使用Python创意中秋节画月饼《花好月圆》
  • 649
分享到

【中秋征文】使用Python创意中秋节画月饼《花好月圆》

python开发语言 2023-09-29 05:09:08 649人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

        大家好,我是猿童学🐵,又是一年中秋至——花好月圆夜,祝大家中秋节快乐!欢迎收看中秋创造第一期。今年是我在CSDN第一次过中秋节,特意为此去学习了用python来画月饼,不仅可以学习而且在制作的过程还很有趣

        大家好,我是猿童学🐵,又是一年中秋至——花好月圆夜,祝大家中秋节快乐!欢迎收看中秋创造第一期。今年是我在CSDN第一次过中秋节,特意为此去学习了用python来画月饼,不仅可以学习而且在制作的过程还很有趣。本文将使用turtle(海龟)来画月饼。turtle库是Python重要的标准库之一,是最有价值的程序设计入门实践库,它是程序设计入门层面最常用的基本绘图库。

你 ♥ 中的月饼是怎么样的呢?来和我一起画出他的模样吧!

一、效果展示

话不多说先上效果

为了更有意境我加了个完美的背景来衬托出月饼的好看

我的月饼画的不圆的原因是我故意的,为什么呢?

因为月有阴晴圆缺啊!哈哈!😅

上面是直接画的,没有填充,接下来我们画一个有填充的。

也可以添加好看的背景噢。

二、程序代码

代码将在下面解释,可以看着代码对应下面的函数解释。

第一种:

import turtleimport mathturtle.title("照彻乾坤,印透山河")turtle.bgpic("yueliang/1.png")p = turtle.Turtle()p.pensize(4)p.speed(3)#做月饼的面def ellipse(a,b,n=500,c='#CD950C'):    p.penup()    p.setpos(a,0)    color = p.color(c)    p.pendown()    for i in range(n):        radian = 2 * math.pi /n        theta = (i+1) * radian        next_point = (a * math.cos(theta)),b * math.sin(theta)        p.setpos(next_point)ellipse(300,200,c='#CD950C')ellipse(296,196,c='#FFB90F')ellipse(292,192,c='#FFD700')#做月饼的底turtle.penup()turtle.Goto(-10,-300)turtle.color("#CD950C")turtle.pensize(6)turtle.pendown()turtle.circle(430,42)#33turtle.circle(420,-84)#-60turtle.goto(-296,-40)turtle.penup()turtle.goto(296,-40)turtle.pendown()turtle.right(54)turtle.forward(151)turtle.penup()turtle.goto(0,0)turtle.pendown()def draw(a1,b1,a2,b2,f='#CD950C'):#边角的2个点,分别是(a1,b1),(a2,b2)    turtle.penup()    turtle.goto(a1,b1)    turtle.pensize(6)    turtle.color(f)    turtle.pendown()    turtle.goto(a2,b1)    turtle.goto(a2,b2)    turtle.penup()    return()#下面是4个角图案draw(260,78,130,170,'#FFD700')draw(250,90,150,160)draw(240,102,172,150)draw(230,114,194,140)draw(-260,-78,-130,-170,'#FFD700')draw(-250,-90,-150,-160)draw(-240,-102,-172,-150)draw(-230,-114,-194,-140)draw(260,-78,130,-170,'#FFD700')draw(250,-90,150,-160)draw(240,-102,172,-150)draw(230,-114,194,-140)draw(-262,78,-130,170,'#FFD700')draw(-250,90,-150,160)draw(-240,102,-172,150)draw(-230,114,-194,140)turtle.penup()turtle.pensize(6)turtle.color("#CD950C")turtle.goto(-270,66)turtle.pendown()turtle.goto(-150,66)turtle.goto(-150,-66)turtle.goto(-270,-66)turtle.goto(-270,-54)turtle.goto(-170,-54)turtle.goto(-170,54)turtle.goto(-276,54)turtle.goto(-276,42)turtle.goto(-190,42)turtle.goto(-190,-42)turtle.goto(-276,-42)turtle.goto(-276,-30)turtle.goto(-210,-30)turtle.goto(-210,30)turtle.goto(-279,30)turtle.goto(-279,18)turtle.goto(-230,18)turtle.goto(-230,-18)turtle.goto(-282,-18)turtle.goto(-282,-2)turtle.goto(-258,-2)turtle.penup()turtle.penup()turtle.goto(-128,-2)turtle.pendown()turtle.color("#FFD700")turtle.pensize(2)turtle.goto(126,-2)turtle.penup()turtle.penup()turtle.pensize(6)turtle.color("#CD950C")turtle.goto(270,66)turtle.pendown()turtle.goto(150,66)turtle.goto(150,-66)turtle.goto(270,-66)turtle.goto(270,-54)turtle.goto(170,-54)turtle.goto(170,54)turtle.goto(276,54)turtle.goto(276,42)turtle.goto(190,42)turtle.goto(190,-42)turtle.goto(276,-42)turtle.goto(276,-30)turtle.goto(210,-30)turtle.goto(210,30)turtle.goto(279,30)turtle.goto(279,18)turtle.goto(230,18)turtle.goto(230,-18)turtle.goto(282,-18)turtle.goto(282,-2)turtle.goto(258,-2)turtle.penup()turtle.penup()turtle.pensize(6)turtle.color("#CD950C")turtle.goto(-110,174)turtle.pendown()turtle.goto(-110,90)turtle.goto(110,90)turtle.goto(110,174)turtle.goto(90,174)turtle.goto(90,102)turtle.goto(-90,102)turtle.goto(-90,176)turtle.goto(-70,176)turtle.goto(-70,114)turtle.goto(70,114)turtle.goto(70,176)turtle.goto(50,176)turtle.goto(50,126)turtle.goto(-50,126)turtle.goto(-50,180)turtle.goto(-30,180)turtle.goto(-30,138)turtle.goto(30,138)turtle.goto(30,182)turtle.goto(10,182)turtle.goto(-10,182)turtle.goto(-10,150)turtle.goto(10,150)turtle.goto(10,166)turtle.penup()turtle.penup()turtle.goto(10,76)turtle.pendown()turtle.pensize(2)turtle.color("#FFD700")turtle.goto(10,-75)turtle.penup()turtle.penup()turtle.pensize(6)turtle.color("#CD950C")turtle.goto(-110,-174)turtle.pendown()turtle.goto(-110,-90)turtle.goto(110,-90)turtle.goto(110,-174)turtle.goto(90,-174)turtle.goto(90,-102)turtle.goto(-90,-102)turtle.goto(-90,-176)turtle.goto(-70,-176)turtle.goto(-70,-114)turtle.goto(70,-114)turtle.goto(70,-176)turtle.goto(50,-176)turtle.goto(50,-126)turtle.goto(-50,-126)turtle.goto(-50,-180)turtle.goto(-30,-180)turtle.goto(-30,-138)turtle.goto(30,-138)turtle.goto(30,-182)turtle.goto(10,-182)turtle.goto(-10,-182)turtle.goto(-10,-150)turtle.goto(10,-150)turtle.goto(10,-166)turtle.penup()#中间金色边框turtle.penup()turtle.goto(-130,170)draw(-130,78,130,-78,'#FFD700')draw(130,-78,-130,78,'#FFD700')turtle.penup()#中间金色字体turtle.penup()turtle.speed(1)turtle.penup()turtle.goto(-100,0)turtle.pendown()turtle.color('#D2691E')turtle.write("花",font=("隶书",60,"bold"))turtle.penup()turtle.goto(30,0)turtle.pendown()turtle.write("好",font=("隶书",60,"bold"))turtle.penup()turtle.goto(-100,-80)turtle.pendown()turtle.write("月",font=("隶书",60,"bold"))turtle.penup()turtle.goto(30,-80)turtle.pendown()turtle.write("圆",font=("隶书",60,"bold"))turtle.penup()p.hideturtle()turtle.mainloop()

第二种:

import turtleturtle.title("祝大家中秋节快乐!")# turtle.bgpic("hua/1.png")turtle.speed(100)turtle.color("#F5E16F")for i in range(20): # 顺时针移动18度 turtle.right(18) turtle.begin_fill() # 向前移动的距离 turtle.forward(220) # 画半径为 40 的半圆 turtle.circle(40, 180) # 画完半圆之后回到(0,0) turtle.goto(0, 0) turtle.right(360) turtle.end_fill()# 设置画笔粗细turtle.pensize(20)# 填充颜色(外部、内部)turtle.color("#F5E16F", "#FF9933")turtle.goto(0, -200)# 准备开始填充turtle.begin_fill()turtle.circle(200)# 填充结束turtle.end_fill()turtle.right(360)turtle.color('#F5E16F')turtle.goto(0, -180)for i in range(12): turtle.begin_fill() turtle.circle(60, 120) turtle.left(180) turtle.circle(60, 120) turtle.end_fill()turtle.penup()turtle.goto(-80,-40)turtle.pendown()turtle.color("#F5E16F")turtle.write("团圆", font=("隶书", 60, "bold"))turtle.mainloop()

三、素材背景

将图片放在文件夹中

本文将1.png放在yueliang文件夹中

png

png

png 

 更多的背景可以在网上搜索获得。

四、原理解释

1、概念

        turtle(海龟)是Python重要的标准库之一,它能够进行基本的图形绘制,其概念诞生于1969年。turtle是最有价值的程序设计入门实践库,它是程序设计入门层面最常用的基本绘图库。

turtle的绘图原理:

  • 有一只海龟处于画布正中心,由程序控制在画布上游走;
  • 海龟走过的轨迹形成了绘制的图形
  • 海龟由程序控制,可改变其大小,颜色等

使用 import 保留字对 turtle 库的引用以下方式:

import turtle

2、函数

窗体函数

turtle.setup()函数与窗体有关,定义如下:
turtle.setup(width,height,startx,starty)
作用:设置主窗体的大小和位置

参数:
width:窗口宽度。如果值是整数,表示像素值;如果值是小数,表示窗口宽度与屏幕的比例
height:窗口高度。如果值是整数,表示像素值;如果值是小数,表示窗口高度与屏幕的比例
startx:窗口左侧与屏幕右侧的像素距离。如果值是None,窗口位于屏幕水平正中央。

 画笔状态函数

函数描述
pendown( )放下画笔
penup()提起画笔
pensize(width)设置画笔线条的粗细为指定大小
pencolor()设置画笔的颜色
color( a,b)同时设置画笔和填充颜色
begin_fill()填充恩形前,调用该方法
end_fill( )填充图形结束
filling()返回填充的状态,True为填充。False为未填充
clear( )清空当前窗口,但不改变当前画笔的位置
reset()清空当前窗口,并重置位置等状态为默认值
screensize( )设置画布窗口的宽度、高度和背昱颜色
hideturtle()隐藏画笔的turtle形状
showturtle( )显示画笔的turtle形状
isvisible( )如果turtle可见,则返回True
write(str,font=None)输出font字体的字符串

画笔运动函数

函数描述
fd(distance)沿着当前方向前进指定距离
bk(distance)沿着当前相反方向后退指定距离
right(angle)向右旋转angle角度
left(angle)向左旋转angle角度
goto(x,y)移动到绝对坐标xy)处
sex(x)修改画笔的横坐标到次,纵坐标不变
sety(y)修改画笔的纵坐标到y,横坐标不变
seth(angle)设置当前朝向为angle角度
home()设置当前画笔位置为原点,朝向东
circle(radius,e)绘制一个指定半径r和角度e的圆或新形
dot(r.color)绘制一个指定半径r和预色color的圆点
undo( )撤销画笔的最后一步动作
speed()设置画笔的绘制速度,参数为0~10之间

颜色代码大全

 可以选择自己喜欢的颜色画。

颜色参考:CSS 颜色代码大全 CSS颜色对照表

  往期:

【中秋征文】使用Python创意中秋节画月饼《花好月圆》

【中秋征文】使用Python中秋节嫦娥投食游戏《千里婵娟》

来源地址:https://blog.csdn.net/qq_21402983/article/details/126601143

--结束END--

本文标题: 【中秋征文】使用Python创意中秋节画月饼《花好月圆》

本文链接: https://www.lsjlt.com/news/421111.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 【中秋征文】使用Python创意中秋节画月饼《花好月圆》
            大家好,我是猿童学🐵,又是一年中秋至——花好月圆夜,祝大家中秋节快乐!欢迎收看中秋创造第一期。今年是我在CSDN第一次过中秋节,特意为此去学习了用Python来画月饼,不仅可以学习而且在制作的过程还很有趣...
    99+
    2023-09-29
    python 开发语言
  • 利用Python绘制创意中秋节月饼
    目录一、效果展示二、程序代码三、素材背景四、原理解释一、效果展示 话不多说先上效果 为了更有意境我加了个完美的背景来衬托出月饼的好看 我的月饼画的不圆的原因是我故意的,为什么呢? ...
    99+
    2024-04-02
  • 中秋快到了利用python画个月亮和月饼
    目录一、🌕月亮二、🌕雪花月饼 一、🌕月亮 导入库matplotlib和numpy,作为工具直接用。 from mpl_tool...
    99+
    2024-04-02
  • 【中秋征文】使用Python中秋节程序员的浪漫《嫦娥奔月》
     一、前言         大家好,我是猿童学🐵,欢迎来到中秋创作第三期,祝大家中秋节快乐。嫦娥相信大家不会陌生,她是中国古代神话中的人物。熟话说:“嫦娥飞天去,神州归来也”,今天使用海龟库给大家画一幅嫦娥奔月图。 ...
    99+
    2023-09-02
    python turtle pycharm
  • Python版中秋佳节月饼抢购脚本
    文章目录 申明前言原理安装 Selenium方式1方式2 安装浏览器驱动下载配置环境变量 代码开发测试注意 申明 本博客不提供任何服务器端程序,也不提供任何收费抢购软件。 该博客...
    99+
    2023-09-03
    python
  • 基于Python实现中秋佳节月饼抢购脚本
    目录申明前言原理安装 Selenium方式1方式2安装浏览器驱动下载配置环境变量代码开发测试注意 申明 本博客不提供任何服务器端程序,也不提供任何收费抢购软件。该博客仅用于学习sel...
    99+
    2024-04-02
  • 中秋将至利用python画一些月饼从天而降不用买了
    目录导语正文​​总结​ 导语 好消息!下一个假期已经在路上了,正在向我们招手呢! 大家只要再坚持5天 就能迎来中秋小长假啦~ ​“海...
    99+
    2024-04-02
  • 中秋阴天看不见月亮只好用python写赏月工具
    目录导语正文(1)首先绘制圆月。(2)然后绘制云层。(3)绘制山川。(4)设置界面,进界面就有音乐播放。(5)绘制诗句。总结一年中秋至 又见圆月时 导语 假设农历八月十五,程序员错...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作