0


每日一练:Python代码绘制航海王草帽路飞,打饭阿姨也能跟着学会的Turtle海龟绘图系列

Turtle 海龟绘图系列 - Python 代码绘制航海王草帽路飞

[ 系列文章篇 ]
Python 地图篇 - 使用 pyecharts 绘制世界地图、中国地图、省级地图、市级地图实例详解

[ 专栏推荐 ]
Python 短视频自动化发布,包含抖音、快手、bilibili、小红书、微视、好看视频、西瓜视频、视频号等 10 余种平台

第一章:程序运行

① 效果展示 - 轮廓描绘

看轮廓描绘效果:
请添加图片描述

② 效果展示 - 颜色填充

衣服和裤子颜色填充效果:
请添加图片描述

第二章:实现过程

① 绘图数据下载

获取地址:小蓝枣的 csdn 资源仓库
在这里插入图片描述
内容预览:
在这里插入图片描述

② 海龟绘图配置项

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

t.tracer(5000)
defset_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()

③ 轮廓绘制

通过下落画笔

t.pendown()

和抬起画笔

t.penup()

来避免连线问题。

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

效果图演示:
请添加图片描述

④ 颜色填充:衣服、裤子

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

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

效果图演示:
请添加图片描述

⑤ 颜色填充:草帽、腰带

绘制草帽、腰带的黄色。

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

效果图演示:
请添加图片描述

⑥ 完整源码

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

x =224
y =345defset_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()defdraw_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("轮廓绘制完成")defdraw_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("上色完成")defdraw_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 开发语言

本文转载自: https://blog.csdn.net/qq_38161040/article/details/123391039
版权归原作者 挣扎的蓝藻 所有, 如有侵权,请联系我们删除。

“每日一练:Python代码绘制航海王草帽路飞,打饭阿姨也能跟着学会的Turtle海龟绘图系列”的评论:

还没有评论