日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python简笔画绘制 数据驱动绘图_python:绘制枫叶简笔画

發布時間:2024/9/3 python 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python简笔画绘制 数据驱动绘图_python:绘制枫叶简笔画 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

上面是楓葉的簡筆圖,我們怎么用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:绘制枫叶简笔画的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。