万圣节快乐 您所在的位置:网站首页 用python代码画苹果图案 万圣节快乐

万圣节快乐

2023-12-25 00:16| 来源: 网络整理| 查看: 265

万圣节

万圣节又叫诸圣节,在每年的11月1日,是西方的传统节日,作为一个程序员怎么能不庆祝一下呢,接下来就利用 Python 中的 turtle 库画一个南瓜头出来:

turtle库常用函数 函数说明forward(distance)画笔向前移动distance距离backforward(distance)画笔向后移动distance距离right(degree)绘制方向向右旋转degree度exitonclick()点击关闭图形窗口penup()抬起画笔,之后移动画笔不绘制形状pendown()落下画笔,之后移动画笔绘制形状pensize()设置画笔宽度pencolor()设置画笔颜色

其实 turtle 用起来并没有那么复杂,可以看到这些函数和我们人类写字画画是很类似的一个过程,比如 抬起画笔,然后移动画笔,再落下画笔。下面我们开始写个小例子。

图片准备

为了恐怖一点,我找了一张图片当作背景图:

万圣节.png

png 格式的哦

我们要在这张图上画上一个这样的南瓜头:

image.png

创建项目

项目就随意创建一个 python 项目即可,然后新建一个 .py 文件 在第一行引入 画图工具库 :

import turtle 初始化

首先我们需要创建一个画布,以及设置背景图片和画笔速度等参数,定义一个函数,代码如下:

def init(): turtle.bgpic('B:/PyCharmProjects/netDemo/com/maxuhui/net/万圣节.png') turtle.screensize(600, 800, bg='white') turtle.speed(10) turtle.hideturtle() turtle.bgcolor('black') turtle.bgpic('B:/PyCharmProjects/netDemo/com/maxuhui/net/万圣节.png')

注意缩进!注意缩进!注意缩进! Python 中有严格的代码缩进,否则会报错!

南瓜头轮廓

首先先把轮廓给画出来,也就是一个大致的形状,同样封装到函数内,代码如下:

def outline(): turtle.color('#CF5E1A', '#CF5E1A') turtle.penup() turtle.goto(250, 30) turtle.pendown() turtle.seth(90) turtle.begin_fill() for j in range(25): turtle.fd(j) turtle.left(3.6) for j in range(25, 0, -1): turtle.fd(j) turtle.left(3.6) turtle.seth(-90) turtle.circle(254, 180) turtle.end_fill() 绘制南瓜枝

南瓜头顶部是有一个枝的,这里定义一个函数去画南瓜枝:

def tail(): turtle.penup() turtle.goto(0, 180) turtle.pendown() turtle.color('#2E3C01') turtle.seth(100) turtle.pensize(25) turtle.circle(60, 100) 眼睛

南瓜头眼睛绘制代码:

def eyes(args): for items in args: position, angle, direction = items turtle.pensize(6) turtle.penup() turtle.goto(position, 0) turtle.pendown() turtle.color('#4C180D', '#4C180D') turtle.begin_fill() turtle.seth(angle) for j in range(55): turtle.fd(3) if direction: turtle.left(3) # 左转3度 else: turtle.right(3) # 右转3度 turtle.goto(position, 0) turtle.end_fill() 鼻子和嘴巴 def nose(): # 鼻子 turtle.penup() turtle.goto(0, 0) turtle.seth(180) turtle.pendown() turtle.begin_fill() turtle.circle(50, steps=3) turtle.end_fill() def mouth(): # 嘴巴 turtle.color('#F9D503', '#F9D503') turtle.pensize(6) turtle.penup() turtle.penup() turtle.goto(-150, -100) turtle.pendown() turtle.begin_fill() turtle.seth(-30) turtle.fd(100) turtle.left(90) turtle.fd(30) turtle.right(90) turtle.fd(60) turtle.left(60) turtle.fd(60) turtle.right(90) turtle.fd(30) turtle.left(90) turtle.fd(100) turtle.end_fill() turtle.done() 运行

调用以上我们写的几个函数,然后运行:

if __name__ == '__main__': init() outline() tail() eyes_items = [(-60, 230, 0), (60, -50, 1)] eyes(eyes_items) nose() mouth() turtle.done()

image.png

最终效果

image.png

关注微信公众号"程序员小辉" 微信图片20190813101011.jpg



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有