40行代码实现图片的模糊绘制---使用Turtle画笔实现图片的模糊绘制

  • 运行环境:Python3.7,turtle库和PIL库。
  • 将参数修改成你想绘制的图片即可绘制你想要的图片。
  • 下图为正在绘制的图片:
    在这里插入图片描述
  • 原图如下:
    在这里插入图片描述
  • 源码如下:
from turtle import *
# 引入Python的内置库(画笔)turtle
from PIL import Image
# 从PIL库中引入Image方法,目的是打开并读取原图

def get_color(r, g, b, alpha=256):
	# 获取原图片的颜色信息
    rr=r/255.0
    bb=b/255.0
    gg=g/255.0
    if rr>1.0:
        rr=1.0
    if bb>1.0:
        bb=1.0
    if gg>1.0:
        gg=1.0
    return (rr,gg,bb)

# 开始绘制
setup(700, 700, 10, 10)
speed(0)
penup()
fd(-250)
seth(90)
fd(340)
seth(0)
pensize(5)
pendown()
im = Image.open('you.jpg')
WIDTH, HEIGHT = 100, 132
im = im.resize((WIDTH, HEIGHT)) 
# 将读取到的原图像更改为固定大小(100, 132)

# **************************
# 注意,想要调整图片的模糊程度,更改这个参数即可。
# 若不改变原图像的大小,则会将原图绘制出来,不进行模糊
# **************************

# 循环遍历原图像的每一个像素点并绘制出来
for i in range(HEIGHT):
    for j in range(WIDTH):
        pencolor(get_color(*im.getpixel((j, i))))
        fd(5)
    penup()
    seth(-90)
    fd(5)
    seth(180)
    fd(5*WIDTH)
    seth(0)
    pendown()

  • Turtle库绘图命令部分讲解:
命令作用
right(n)顺时针移动角度n
left(n)逆时针移动角度n
pendown()落下画笔,即移动时绘制图形
penup()提起画笔,提起笔移动,不绘制图形,与pendown()对应
pensize()设置画笔的粗细,越小越细
forward(m)向当前画笔方向移动m像素,可简写为fd(m)
backward(m)向当前画笔相反方向移动m像素
goto(x,y)将画笔移动到坐标为(x,y)的位置
circle()画圆,半径为正(负),表示圆心在画笔的左边(右边)画圆
setx( )将当前x轴移动到指定位置
sety( )将当前y轴移动到指定位置
seth(n)设置当前朝向为n角度
home()设置当前画笔位置为原点且朝向东
speed(m)m为0-10范围内整数,其中0最快,1最慢,3慢、正常6,快10
  • 8
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值