Python+Turtle绘制航海王草帽路飞详解

目录
  • 一、程序运行
    • 1.效果展示-轮廓描绘
    • 2.效果展示-颜色填充
  • 二、实现过程
    • 1.绘图数据下载
    • 2.海龟绘图配置项
    • 3.轮廓绘制
    • 4.颜色填充:衣服、裤子
    • 5.颜色填充:草帽、腰带
    • 6.完整源码

一、程序运行

1.效果展示 - 轮廓描绘

看轮廓描绘效果:

2.效果展示 - 颜色填充

衣服和裤子颜色填充效果:

二、实现过程

1.绘图数据下载

获取地址

内容预览:

2.海龟绘图配置项

降低刷新率可提升绘制速度,值越大刷新频率越低,速度越快

t.tracer(5000)

def set_trutle():
    '''
     作用:海龟绘图配置项
     参数:无
     返回:无
    '''
    # 默认颜色区间是[0,1],切换为[0,255]
    t.Screen().colormode(255)
    # 设置起始大小
    t.setup(width=x, height=y)
    # 调整坐标,
    t.setworldcoordinates(0,y,x,0)
    t.pen()
    # 设置绘制速度,0为最快
    t.speed(0)
    # 禁用延迟提升速度
    t.delay(0)
    # 提升速度,值越大越快
    t.tracer(5000)
    # 设置默认画笔颜色为白色
    t.pencolor((255,255,255))
    # 抬起画笔
    t.penup()

3.轮廓绘制

通过下落画笔 t.pendown()

和抬起画笔 t.penup()

来避免连线问题。

def draw_lufei_outline():
    '''
     作用:绘制路飞轮廓
     参数:无
     返回:无
    '''

    # 数据文件读取
    f=open("lufei.txt","r")
    bigmom_date = f.read().split(" ")

    for i in bigmom_date:
        try:
            # 数据分离与转化
            j = i.split("_")
            x1 = round(float(j[0]))
            y1 = round(float(j[1]))
            color = j[2][1:-1].split(",")
            color[0]=int(color[0])
            color[1]=int(color[1])
            color[2]=int(color[2])

            if((color[0]*0.299 + color[1]*0.587 + color[2]*0.114)>50):
                color = (255,255,255);

            # 下落画笔
            t.pendown()
            # 解决图像只绘制一半的问题
            t.sety(y1)
            # 轨迹追踪与绘制
            t.goto(x1, y1)
            t.color(color)
            # 抬起画笔
            t.penup()
        except Exception as e:
            print()

    f.close()
    print("轮廓绘制完成")

效果图演示:

4.颜色填充:衣服、裤子

绘制衣服、裤子的红色和蓝色。

def draw_lufei_tintage1():
    '''
     作用:路飞颜色填充:衣服、帽子
     参数:无
     返回:无
    '''

    # 数据文件读取
    f=open("lufei.txt","r")
    bigmom_date = f.read().split(" ")

    for i in bigmom_date:
        try:
            # 数据分离与转化
            j = i.split("_")
            x1 = int(j[0])
            y1 = int(j[1])

            color = j[2][1:-1].split(",")
            color[0]=int(color[0])
            color[1]=int(color[1])
            color[2]=int(color[2])

            if((color[0]*0.299 + color[1]*0.587 + color[2]*0.114)>150):
                color = (255,255,255);

            # 下落画笔
            t.pendown()
            # 解决图像只绘制一半的问题
            t.sety(y1)
            # 轨迹追踪与绘制
            t.goto(x1, y1)
            t.color(color)
            # 抬起画笔
            t.penup()
        except Exception as e:
            print()

    f.close()
    print("上色完成")

效果图演示:

5.颜色填充:草帽、腰带

绘制草帽、腰带的黄色。

def draw_lufei_tintage2():
    '''
     作用:路飞颜色填充:草帽、腰带
     参数:无
     返回:无
    '''

    # 数据文件读取
    f=open("lufei.txt","r")
    bigmom_date = f.read().split(" ")

    for i in bigmom_date:
        try:
            # 数据分离与转化
            j = i.split("_")
            x1 = int(j[0])
            y1 = int(j[1])

            color = j[2][1:-1].split(",")
            color[0]=int(color[0])
            color[1]=int(color[1])
            color[2]=int(color[2])

            if((color[0]*0.299 + color[1]*0.587 + color[2]*0.114)>215):
                color = (255,255,255);

            # 下落画笔
            t.pendown()
            # 解决图像只绘制一半的问题
            t.sety(y1)
            # 轨迹追踪与绘制
            t.goto(x1, y1)
            t.color(color)
            # 抬起画笔
            t.penup()
        except Exception as e:
            print()

    f.close()
    print("上色完成")

效果图演示:

6.完整源码

# -*- coding:utf-8 -*-
# 2022-3-9
# 作者:小蓝枣
# 图像绘制:路飞

import turtle as t
import time

x = 224
y = 345

def set_trutle():
    '''
     作用:海龟绘图配置项
     参数:无
     返回:无
    '''
    # 默认颜色区间是[0,1],切换为[0,255]
    t.Screen().colormode(255)
    # 设置起始大小
    t.setup(width=x, height=y)
    # 调整坐标,
    t.setworldcoordinates(0,y,x,0)
    t.pen()
    # 设置绘制速度,0为最快
    t.speed(0)
    # 禁用延迟提升速度
    t.delay(0)
    # 提升速度,值越大越快
    t.tracer(5000)
    # 设置默认画笔颜色为白色
    t.pencolor((255,255,255))
    # 抬起画笔
    t.penup()

def draw_lufei_outline():
    '''
     作用:绘制路飞轮廓
     参数:无
     返回:无
    '''

    # 数据文件读取
    f=open("lufei.txt","r")
    bigmom_date = f.read().split(" ")

    for i in bigmom_date:
        try:
            # 数据分离与转化
            j = i.split("_")
            x1 = round(float(j[0]))
            y1 = round(float(j[1]))
            color = j[2][1:-1].split(",")
            color[0]=int(color[0])
            color[1]=int(color[1])
            color[2]=int(color[2])

            if((color[0]*0.299 + color[1]*0.587 + color[2]*0.114)>50):
                color = (255,255,255);

            # 下落画笔
            t.pendown()
            # 解决图像只绘制一半的问题
            t.sety(y1)
            # 轨迹追踪与绘制
            t.goto(x1, y1)
            t.color(color)
            # 抬起画笔
            t.penup()
        except Exception as e:
            print()

    f.close()
    print("轮廓绘制完成")

def draw_lufei_tintage1():
    '''
     作用:路飞颜色填充:衣服、帽子
     参数:无
     返回:无
    '''

    # 数据文件读取
    f=open("lufei.txt","r")
    bigmom_date = f.read().split(" ")

    for i in bigmom_date:
        try:
            # 数据分离与转化
            j = i.split("_")
            x1 = int(j[0])
            y1 = int(j[1])

            color = j[2][1:-1].split(",")
            color[0]=int(color[0])
            color[1]=int(color[1])
            color[2]=int(color[2])

            if((color[0]*0.299 + color[1]*0.587 + color[2]*0.114)>150):
                color = (255,255,255);

            # 下落画笔
            t.pendown()
            # 解决图像只绘制一半的问题
            t.sety(y1)
            # 轨迹追踪与绘制
            t.goto(x1, y1)
            t.color(color)
            # 抬起画笔
            t.penup()
        except Exception as e:
            print()

    f.close()
    print("上色完成")

def draw_lufei_tintage2():
    '''
     作用:路飞颜色填充:草帽、腰带
     参数:无
     返回:无
    '''

    # 数据文件读取
    f=open("lufei.txt","r")
    bigmom_date = f.read().split(" ")

    for i in bigmom_date:
        try:
            # 数据分离与转化
            j = i.split("_")
            x1 = int(j[0])
            y1 = int(j[1])

            color = j[2][1:-1].split(",")
            color[0]=int(color[0])
            color[1]=int(color[1])
            color[2]=int(color[2])

            if((color[0]*0.299 + color[1]*0.587 + color[2]*0.114)>215):
                color = (255,255,255);

            # 下落画笔
            t.pendown()
            # 解决图像只绘制一半的问题
            t.sety(y1)
            # 轨迹追踪与绘制
            t.goto(x1, y1)
            t.color(color)
            # 抬起画笔
            t.penup()
        except Exception as e:
            print()

    f.close()
    print("上色完成")

set_trutle()
draw_lufei_outline()
draw_lufei_tintage1()
draw_lufei_tintage2()
time.sleep(10000)

以上就是Python+Turtle绘制航海王草帽路飞详解的详细内容,更多关于Python Turtle路飞的资料请关注我们其它相关文章!

(0)

相关推荐

  • 基于Python-turtle库绘制路飞的草帽骷髅旗、美国队长的盾牌、高达的源码

    源码: #路飞骷髅 import turtle as t #黄底帽子 t.pu() t.goto(0,200) t.circle(-130,-80) t.pd() t.colormode(255) t.pensize(5) t.color(242,232,184) #帽子黄底RGB t.begin_fill() t.pencolor(0,0,0) t.circle(-130,160) t.seth(180) t.fd(255) t.end_fill() #红色线条 t.begin_fill()

  • python用turtle库绘画圣诞树

    目录 前言 一.Turtle是什么? 二.使用步骤 1.引入库 2.turtle绘图的基础知识 三.圣诞树代码 总结 前言 圣诞节快到了,是不是想用python画一个可爱的圣诞树,我在各大网站都查了一下,都不太美观,然后我就学习了一下别人的代码改写了一下,自己加了一些东西,弄的好看一些了,给大家开源出来,欢迎大家指正学习,也欢迎转载,请注明出处哦~ 画出来的图形如图: 一.Turtle是什么? Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x.纵轴为

  • python turtle库画圣诞树详细代码教程

    目录 1. 圣诞树的本体 2. 蝴蝶结 3. 星星 4. 圣诞帽 5. 圣诞袜 6. 最后奉上完整代码 首先我们的目标是这样子的: 那么他有什么成分呢?有圣诞树的本体.大小蝴蝶结.星星.圣诞帽和袜子. 首先我们来画圣诞树的本体. 1. 圣诞树的本体 圣诞树本体是这样子的: 代码: class TreeBackBone(): def __init__(self): pencolor("pink") pensize(10) self.layer1() self.layer2() self.

  • Python绘图操作之turtle库乌龟绘图全面整理

    目录 官方文档网址 绘图窗口 空间坐标体系 绝对坐标 海龟坐标 角度坐标体系 绝对角度 海龟角度 RGB色彩体系 画笔控制函数 运动控制函数 方向控制函数 全局控制命令 示例 蟒蛇绘制 七段数码管日期显示 太阳花 库函数表格整理 画笔运动命令 画笔控制命令 全局控制命令 其他命令 [函数表格整理在最下方] 官方文档网址 turtle 绘图窗口 turtle.setup(width, height, startx, starty) 参数:width, height: 输入宽和高为整数时, 表示像素

  • 用Python Turtle画棵樱花树送给自己

    目录 一. 绘制步骤 1. 环境安装 2. 图片美化 二. 技术学习 1. turtle 简介 2. turtle 绘图的基础知识 最近发生了很多事情,工作不开心,爱情无果而终,身边的小伙伴陆陆续续离职.虽然都不是会一下子击垮自己的事情,但是积攒起来,还是会有突然感到疲惫和倦怠的时候,有一种不知道下一步要走向哪里的无力感. 在这个城市留下了很多的回忆,但是身边的人一个个离开,走到现在,似乎没有太多留恋的了,也没想好未来要去哪里.自己是一个始终需要新鲜感的人,在这里停留了太久,大概到了该说再见的时

  • Python利用Turtle绘制虎年图像

    目录 导语 一.代码展示 二.效果展示 导语 2022年是农历壬寅虎年,在自然界中,虎有“百兽之王”之称 它的王者之风与勇猛,被作为威仪和权势的象征,千百年来,人们崇虎.刻虎.画虎.剪虎……形成了极具特色的中国虎文化,而今天给大家用Turtle绘制虎年图像,带给大家虎年的祝福! 虎年送头虎,全家乐悠悠,虎蹄为你开财路,虎尾为你拂忧愁. 虎耳为你撞鸿运,虎背为你驮康寿,让这头虎伴你左右,你不虎也虎 也希望大家在新年里,虎虎生威.虎年大吉 一.代码展示 本文是基于Turtle绘制的小老虎呢!本文的全

  • 基于Python中的turtle绘画星星和星空

    目录 前言: 一.画一个N边形 二.画五角星 三.一闪一闪亮晶晶 前言: Python 中的画图工具——turtle(海龟绘图),turtle 是 Python 中自带的绘图模块,最初来自于 Wally Feurzeig, Seymour Papert 和 Cynthia Solomon 于 1967 年所创造的 Logo 编程语言. 使用 turtle 控制画笔在画板上画画.而这个画笔是有形状的,默认是一个小箭头,我们可以使用 turtle.shape('turtle') 将其设成一个小海龟.

  • Python+Turtle绘制航海王草帽路飞详解

    目录 一.程序运行 1.效果展示-轮廓描绘 2.效果展示-颜色填充 二.实现过程 1.绘图数据下载 2.海龟绘图配置项 3.轮廓绘制 4.颜色填充:衣服.裤子 5.颜色填充:草帽.腰带 6.完整源码 一.程序运行 1.效果展示 - 轮廓描绘 看轮廓描绘效果: 2.效果展示 - 颜色填充 衣服和裤子颜色填充效果: 二.实现过程 1.绘图数据下载 获取地址 内容预览: 2.海龟绘图配置项 降低刷新率可提升绘制速度,值越大刷新频率越低,速度越快 t.tracer(5000) def set_trutl

  • Python+Turtle绘制可爱的小蜜蜂详解

    目录 一.效果展示 二.代码详解 1.导入库 2.播放音乐 3.画小蜜蜂的头 4.画脖子和腹部 三.完整代码 公众号中有个朋友私信我,想要帮忙画下小蜜蜂. 答应了有时间就帮忙画下,趁着五一休息,今天就一起来实现一下吧. 一.效果展示 在正式进入代码讲解之前,先来看下本文的实现效果. 感兴趣的朋友可以根据自己的需要调整函数,绘制别的形状的小蜜蜂. 二.代码详解 本小节会详细解锁如何通过Python中的turtle库绘制小蜜蜂. 1.导入库 首先导入本文需要加载的库,如果你有些库还没有安装,导致运行

  • matplotlib在python上绘制3D散点图实例详解

    大家可以先参考官方演示文档: 效果图: ''' ============== 3D scatterplot ============== Demonstration of a basic scatterplot in 3D. ''' from mpl_toolkits.mplot3d import Axes3D import matplotlib.pyplot as plt import numpy as np def randrange(n, vmin, vmax): ''' Helper f

  • Python+Seaborn绘制分布图的示例详解

    目录 前言 示例 1 示例 2 示例 3 示例 4 示例 5 例子 6 例子 7 示例 8 示例 9 示例10 前言 在本文中,我们将介绍10个示例,以掌握如何使用用于Python的Seaborn库创建图表. 任何数据产品的第一步都应该是理解原始数据.对于成功和高效的产品,这一步骤占据了整个工作流程的很大一部分. 有几种方法用于理解和探索数据.其中之一是创建数据可视化.它们帮助我们探索和解释数据. 通过创建适当和设计良好的可视化,我们可以发现数据中的底层结构和关系. 分布区在数据分析中起着至关重

  • Python Matplotlib绘制动画的代码详解

    目录 matplotlib 动画 人口出生率 男女人口总数 雨滴 matplotlib 动画 我们想制作一个动画,其中正弦和余弦函数在屏幕上逐步绘制.首先需要告诉matplotlib我们想要制作一个动画,然后必须指定想要在每一帧绘制什么.一个常见的错误是重新绘制每一帧的所有内容,这会使整个过程非常缓慢.相反地,只能更新必要的内容,因为我们知道许多内容不会随着帧的变化而改变.对于折线图,我们将使用set_data方法更新绘图,剩下的工作由matplotlib完成. 注意随着动画移动的终点标记.原因

  • Python可视化绘制图表的教程详解

    目录 1.Matplotlib 程序包 2.绘图命令的基本架构及其属性设置 3.Seaborn 模块介绍 3.1 未加Seaborn 模块的效果 4.描述性统计图形概览 4.1制作数据 4.2 频数分析 python 有许多可视化工具,但本书只介绍Matplotlib.Matplotlib是一种2D的绘图库,它可以支持硬拷贝和跨系统的交互,它可以在python脚本,IPython的交互环境下.Web应用程序中使用.该项目是由John Hunter 于2002年启动,其目的是为python构建MA

  • Python+Pygame绘制小球的实例详解

    目录 1.准备工作 2.开始制作 1.创建一个小球 2.创建逐渐变大的小球 3.创建一个自由下落的小球 4.用if语句实现循环下落 5.做一个循环上下反弹的小球 1.准备工作 1.在文件里找到设置 2.在项目里找到python解释器,点击右边的加号 3.搜素pygame并安装 同理下载pgzero安装包 2.开始制作 1.创建一个小球 代码 import pgzrun def draw(): screen.fill('green') screen.draw.filled_circle((400,

  • Python实现绘制多种激活函数曲线详解

    利用numpy.matplotlib.sympy绘制sigmoid.tanh.ReLU.leaky ReLU.softMax函数 起因:深度学习途中,老师留一作业,绘制激活函数及其导数,耗时挺久,记录学习过程 准备工作:下载numpy.matplotlib.sympy pip install numpy matplotlib sympy 查找对应库的文档: numpy文档 matplotlib文档 sympy文档 写代码的时候发现vscode不会格式化我的python?查了一下原来还要安装fla

  • 如何利用Python快速绘制海报级别地图详解

    目录 1 简介 2 利用prettymaps快速制作海报级地图 2.1 prettymaps的几种使用方式 2.1.1 圆形模式 2.1.2 圆角矩形模式 2.1.3 添加文字内容 总结 1 简介 基于Python中诸如matplotlib等功能丰富.自由度极高的绘图库,我们可以完成各种极富艺术感的可视化作品,关于这一点我在系列文章在模仿中精进数据可视化中已经带大家学习过很多案例了. 而今天我要给大家介绍的这个Python库prettymaps非常的有趣,基于它,我们只需要简单的代码就可以对地球

  • 详解Python+Turtle绘制奥运标志的实现

    目录 1. 画圆 2. 画奥运标识 3. 重构代码 4. 美化标识 5. 总结 最近了解了Python Turtle,非常简单有趣.为了培养小朋友兴趣,写个turtle画奥运标志程序. 1. 画圆 turtle属于内置包,无需安装.只要导入即可以画图,下面先写几行代码画圆. import turtle t = turtle.Pen() t.circle(50) t.getscreen()._root.mainloop() 导入turtle之后,创建Pen画笔t,避免后续代码.circle方法是画

随机推荐