文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

怎么用Python+Turtle绘制航海王草帽路飞

2023-06-29 11:23

关注

这篇“怎么用Python+Turtle绘制航海王草帽路飞”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么用Python+Turtle绘制航海王草帽路飞”文章吧。

一、程序运行

1.效果展示 - 轮廓描绘

看轮廓描绘效果:

怎么用Python+Turtle绘制航海王草帽路飞

2.效果展示 - 颜色填充

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

怎么用Python+Turtle绘制航海王草帽路飞

二、实现过程

1.绘图数据下载

获取地址

内容预览:

怎么用Python+Turtle绘制航海王草帽路飞

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("轮廓绘制完成")

效果图演示:

怎么用Python+Turtle绘制航海王草帽路飞

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("上色完成")

效果图演示:

怎么用Python+Turtle绘制航海王草帽路飞

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("上色完成")

效果图演示:

怎么用Python+Turtle绘制航海王草帽路飞

6.完整源码

# -*- coding:utf-8 -*-# 2022-3-9# 作者:小蓝枣# 图像绘制:路飞import turtle as timport timex = 224y = 345def 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绘制航海王草帽路飞”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯