python:如何画枫叶

下面是枫叶的简笔图,我们怎么用python程序来完全模拟以上的图片呢?01今天为大家带来用python画枫叶的详细过程 。

python:如何画枫叶

文章插图

需要这些哦
python
电脑

1起首,我们保留上面的图片为“枫叶.jpg”,放到python的目次下 。 打开python编纂器(本篇利用的pycharm)
python:如何画枫叶

文章插图

2导入所需的库函数:
from PIL import Image
import turtle as t
python:如何画枫叶

文章插图

3接下来,经由过程PIL读取图片的信息,对接turtle绘图库完当作绘制过程 。
读取图片的函数:
def leave(path):
img = Image.open(path)  # 读取图像
global size
size=img.size
pix = img.load()
list = [[] for i in range(size[1])]  # 机关空列表
for i in range(0, size[1]):  # 从第一行起头轮回
k = 0
for j in range(0, size[0]-1):
# 若是当前像素与下一个像素值分歧且两者有一为布景色,则记实坐标
if pix[j, i] != pix[j + 1, i] and (255, 255, 255) in [pix[j, i], pix[j + 1, i]]:
if k == 0:  # index值为0申明是像素条肇端坐标
list[i].app([j + 1, ])
k += 1
else:  # index值为1申明记实的是像素条竣事坐标
list[i][-1].app(j)
k = 0
return list
python:如何画枫叶

文章插图

4绘制的函数:
def draw(path):
l=leave(path)
# 画图窗口大小
t.screensize(canvwidth=size[0], canvheight=size[1],bg='white')
t.speed(1000)
for i in range(0, size[1]):
# 遍历每一行
t.pencolor('black')
for line in l[i]:
# 遍历每一个像素条
t.penup()
t.goto(line[0] - size[0] // 2, (size[1] - i) - size[1] // 2)
t.pown()
t.goto(line[1] - size[0] // 2, (size[1] - i) - size[1] // 2)
t.mainloop()
python:如何画枫叶

文章插图

5最后,挪用函数,运行程序:
draw('枫叶.jpg')
python:如何画枫叶

文章插图

6运行成果
turtle尽力绘画中......
【python:如何画枫叶】(画笔有一点粗反而让图片更都雅了)
python:如何画枫叶

文章插图
python:如何画枫叶

文章插图
python:如何画枫叶

文章插图

注重事项喜好的小伙伴点个存眷吧!

以上内容就是python:如何画枫叶的内容啦,希望对你有所帮助哦!

    推荐阅读