小发猫火车头插件【php源码】

大家好,本文将围绕python中用turtle画一个圆形展开说明,用python的turtle画炫酷的图是一个很多人都想弄明白的事情,想搞清楚用pythonturtle画简单的图案需要先了解以下几个事情。

火车头采集ai伪原创插件截图:

先放最终代码:

import turtle as t
from PIL import Image   #需要安装
import wordcloud    #需要安装
import jieba    #需要安装
import numpy    #需要安装
from os import remove


#画心形
t.penup()
t.goto(0,-200)
t.pendown()
t.begin_fill()
t.color('red','pink')
t.left(135)
t.forward(300)
t.circle(-150,180)       #-150为半径,默认为逆时针画圆,-150可使其顺时针画圆。180为圆心角
t.left(90)
t.circle(-150,180)  
t.forward(300)
t.end_fill()
t.hideturtle()
ts = t.getscreen()
ts.getcanvas().post(file='love.eps')      #在当前目录保存为work.eps文件
t.bye()     #关闭turtle窗口


#画出的心形文件格式转化
with open('love.eps','rb') as file: #二进制格式打开
    img=Image.open(file)
    img.save('love.png')     #另存为png格式,需要安装Ghost
remove('love.eps')      #删除eps格式文件


#制作词云图
mask = numpy.array(Image.open('love.png'))      #将背景转化为多维数组,open默认为r模式
w=wordcloud.WordCloud(background_color='white',mask=mask,width=1000,height=860,font_path='C:\Windows\Fonts\FZSTK.TTF')
with open('Dream It Possible.txt', encoding='utf-8') as fp:
    content = fp.read()
    words = jieba.lcut(content)     #分词
    w.generate(' '.join(words))     #用空格分割
w.to_file('love_wordclode.jpg')
remove('love.png')       #删除png蒙版

一:安装wordclode

参考:

python3安装wordcloud库出错及其解决办法(使用命令行安装)_帆-CSDN博客_wordcloud库安装失败

正常情况下只要在cmd输入 pip install wordcloud 即可,但我的电脑无法自动安装,查阅资料后手动安装过程如下

1.在https://www.lfd.uci.edu/~gohlke/pythonlibs/#wordcloud下载wordcloud.whl

我的python环境是3.8,操作系统64位,所以选择 wordcloud-1.8.1-cp38-cp38-win_amd64.whl

2.执行 pip install wheel 来安装wheel

3.执行pip install + wordcloud.whl 的绝对路径,

如pip install C:\Users\Grace\Desktop\wordcloud-1.8.1-cp38-cp38-win_amd64.whl

成功安装如下

二:安装其他库

cmd执行以下命令即可

pip install pillow
pip install jieba
pip install numpy

三:编写程序

老师的要求是使用turtle库画出爱心,再用词云填充Python中的所有运算符号

鉴于没有找到直接用词云填充turtle所绘制图案的资料,我决定先使用turtle画出心形,在导出为文件,最后将导出的文件作为词云的蒙版

1.画出心形并导出为文件:

import turtle as t

t.penup()
t.goto(0,-200)
t.pendown()
t.begin_fill()
t.color('red','pink')
t.left(135)
t.forward(300)
t.circle(-150,180)       #-150为半径,默认为逆时针画圆,-150可使其顺时针画圆。180为圆心角
t.left(90)
t.circle(-150,180)  
t.forward(300)
t.end_fill()
t.hideturtle()
ts = t.getscreen()
ts.getcanvas().post(file='love.eps')      #在当前目录保存为work.eps文件
t.bye()     #关闭turtle窗口

另一种心形画法:

import turtle as tu
import math as m

tu.color('red','pink')
tu.penup()
tu.setposition(0,100)
tu.pendown()
tu.begin_fill()

def d2r(x: int):
    return x / 180 * m.pi

'''
for t in range(360):
    y=100*(2*m.cos(t/360*2*m.pi)-m.cos(t/360*4*m.pi))
    x=100*(2*m.sin(t/360*2*m.pi)-m.sin(t/360*4*m.pi))
    tu.goto(x,y)
'''

for t in range(360):
    y=100*(2*m.cos(d2r(t))-m.cos(d2r(2*t)))
    x=100*(2*m.sin(d2r(t))-m.sin(d2r(2*t)))
    tu.goto(x,y)

tu.end_fill()

2.更改图片格式

from PIL import Image 
from os import remove

with open('love.eps','rb') as file: #二进制格式打开
    img=Image.open(file)
    img.save('love.png')     #另存为png格式,需要安装Ghost
remove('love.eps')      #删除eps格式文件

参考

python利用Turtle绘图并保存jpg - 简书

turtle库只能导出为eps格式,而词云的蒙版不支持eps格式,所以需要把eps格式进行转换。

使用的是PIL库的Image,但是在安装好使用时会出现报错:OSError: Unable to locate Ghost on paths

经过百度查找,参考上面链接的文章,需要安装Ghost并添加环境变量。

首先在官网Ghost : Downloads下载自己电脑对应的安装包,下载好后点击安装,记好安装位置。我的默认为C:\Program Files\gs\gs9.55.0。在安装好之后,添加环境变量。

1.右击此电脑——属性——高级系统设置——环境变量

 2.双击path,点击新建,将安装位置的bin目录添加为环境变量,如C:\Program Files\gs\gs9.55.0\bin。记得点击确定保存

 3.重启IDLE或命令行,代码可正常运行

3.制作词云

from PIL import Image   
import wordcloud    
import jieba  
import numpy   
from os import remove

mask = numpy.array(Image.open('love.png'))      #将背景转化为多维数组才能在词云中使用,open默认为r模式
w=wordcloud.WordCloud(background_color='white',mask=mask,width=1000,height=860,font_path='C:\Windows\Fonts\FZSTK.TTF')
with open('Dream It Possible.txt', encoding='utf-8') as fp:
    content = fp.read()
    words = jieba.lcut(content)     #分词
    w.generate(' '.join(words))     #用空格分割
w.to_file('love_wordclode.jpg')
remove('love.png')       #删除png蒙版

猜你喜欢

转载自blog.csdn.net/mynote/article/details/133531869