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

首先,我们保存上面的图片为“枫叶.jpg”,放到python的目录下。打开python编辑器(本篇使用的pycharm)

函数实现

导入所需的库函数:

from PIL import Image

import turtle as t

接下来,通过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].append([j + 1, ])

k += 1

else: # index值为1说明记录的是像素条结束坐标

list[i][-1].append(j)

k = 0

return list

绘制的函数:

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.pendown()

t.goto(line[1] - size[0] // 2, (size[1] - i) - size[1] // 2)

t.mainloop()

最后,调用函数,运行程序:

draw('枫叶.jpg')

运行结果

turtle努力绘画中......

(画笔有一点粗反而让图片更好看了)

过了几分钟。。。

又过了几分钟。。。

终于画完了,turtle表示过度劳累。。。

今天的内容就到这了,我是01,我们明天再见!(觉得好玩的小伙伴关注我吧)

python简笔画绘制 数据驱动绘图_python:绘制枫叶简笔画相关推荐

  1. python简笔画绘制 数据驱动绘图_python数据分析绘图可视化

    简介: 想在1天内快速搞定实时业务数据大屏吗?想用最短路径逆袭成为数据可视化大神吗?想在除了PRD外什么都没有的情况下,体验职场真人版绝境求生吗? 概念:LADV是 以上例子中,生成的可视化图表,均可 ...

  2. python turtle画彩虹的代码_python绘制彩虹图

    本文实例为大家分享了python绘制彩虹图的具体代码,供大家参考,具体内容如下 from turtle import * #控制彩虹路径 def path(pen, r, g, b): pen.pen ...

  3. python简笔画绘制 数据驱动绘图恐龙_使用python turtle绘制简笔画大白-Go语言中文社区...

    使用python turtle绘制简笔画大白 完整代码: import turtle as t pen = t.Turtle() # 定义画笔实例 pen.speed(0) pen.pensize(5 ...

  4. python简笔画绘制 数据驱动绘图恐龙_超萌超可爱的恐龙简笔画,简单几步就能学会哦!...

    原标题:超萌超可爱的恐龙简笔画,简单几步就能学会哦! 今天,给大家分享一组男孩子最喜欢的恐龙简笔画.本次我画的是恐龙世界中的恶魔龙.关于恶魔龙的知识,大家自行去科普吧,我就不过多介绍啦!超萌超可爱的恶 ...

  5. python简笔画蚂蚁_使用python turtle绘制简笔画大白-Go语言中文社区

    使用python turtle绘制简笔画大白 完整代码: import turtle as t pen = t.Turtle() # 定义画笔实例 pen.speed(0) pen.pensize(5 ...

  6. python简笔画_不给糖果就捣乱,用Python绘制有趣的万圣节南瓜怪

    关于万圣节 万圣节又叫诸圣节,在每年的11月1日,是西方的传统节日:而万圣节前夜的10月31日是这个节日最热闹的时刻.在中文里,常常把万圣节前夜(Halloween)讹译为万圣节(All Saints ...

  7. python简笔画_不给糖果就捣乱,用 Python 绘制有趣的万圣节南瓜怪

    关于万圣节 万圣节又叫诸圣节,在每年的 11 月 1 日,是西方的传统节日:而万圣节前夜的 10 月 31 日是这个节日最热闹的时刻.在中文里,常常把万圣节前夜(Halloween)讹译为万圣节(Al ...

  8. python画五角星填充不同颜色_Python绘制分形树(一)

    一步一步了解turtle这个库,先绘制个五角星练手 画布 turtle.screensize(800, 600, "green") turtle.screensize() #返回默 ...

  9. python简笔画程序_使用python turtle绘制简笔画大白

    使用python乌龟画的完整代码简单的中风:进口龟tpen = () # Define刷例子(0)(5)()(90)#头(-100200)()= 1我的范围(120):如果0 < =我< ...

最新文章

  1. Oracle学习笔记:redo重做日志
  2. 一道暴力枚举题Win32版本示例
  3. Phpcms之核心目录phpcms
  4. linux沙箱隔离_Linux沙箱技术介绍
  5. python 算术运算
  6. 路由器链路聚合技术(Eth-Trunk、Ip-Trunk)
  7. STM32工作笔记0078---UCOSIII任务挂起和恢复
  8. RISC-V 没你想象的那么好
  9. ERROR 126 (HY000) at line 1: Incorrect key file for table '/tmp/#sql_7b09_0.MYI'; try to repair it
  10. php向mysql提交数据_PHP 如何向 MySQL 发送数据
  11. 图片格式转换器ico_Pixillion——图片格式转换工具
  12. cas入门之:cas 4 如何以http形式发布
  13. 【JZOJ 4598】准备食物
  14. java如何开发游戏大厅_java仿qq游戏大厅的设计与实现
  15. 确认过眼神—是我重返博客的第一文
  16. redmine主题 - Flatly light redmine theme扁平化/轻主题
  17. scanf与scanf_s区别
  18. Redis常用的五种数据类型
  19. html语言玫瑰花代码,javascript+HTML5的canvas实现七夕情人节3D玫瑰花效果代码
  20. EMQX 入门教程 环境篇④——修改HTTP:Dashboard监听的端口

热门文章

  1. 南京php培训班哪家,南京PHP培训中心哪家比较专业
  2. python算法详解张玲玲电子版_算法之路该如何学习?
  3. 【硬核干货】2500字全方面解读Python的格式化输出
  4. 适用于 Python 的 10 大最佳 IDE,你 Pick 哪一款?
  5. Python官方最后通牒:Python 2传奇20年将落幕,Python 3接力!
  6. 【推荐一位Python大佬】 从程序员到创业者,再到自由职业
  7. mysql linux 下载安装,Mysql 下载 安装 for linux
  8. java类的成员组成_Java类的组成:类的三个组成部分
  9. mdkstc系列器件支持包下载_Qorvo PAC系列高集成度电机控制芯片及应用
  10. go与JAVA差异_20190312_浅谈gojava差异(二)