- 运行环境:Python3.7,turtle库和PIL库。
- 将参数修改成你想绘制的图片即可绘制你想要的图片。
- 下图为正在绘制的图片:
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/2a0ba9609d0d714168a117b5e0c16ec6.png)
- 原图如下:
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/1af841ded1fd91be0f27895f9d52eaa0.jpeg)
- 源码如下:
from turtle import *
from PIL import 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))
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()
命令 | 作用 |
---|
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 |