标签:UNC pac 方法 输入 plot man comm raw gui
# 代码长度:61行(最后一行)
#项目所用模块:tkinter(GUI模块)、PIL(图像处理模块)、matplotlib(绘图模块,功能与Matlab中的plot类似)
#项目界面:
#代码实现
1.导入所需模块/方法
#! python3
#-*-coding:utf-8-*-
from tkinter import * from PIL import Image, ImageFont, ImageDraw import matplotlib as plot
2.创建GUI界面 从Frame类中派生出Picture(类的名称,自定义)类,在这个类(父容器)下将包含所有的Button、Label和输入框等Widget
class Picture(Frame):
def __init__(self, master=None):
Frame.__init__(self, master)
self.pack() #封装父容器
self.creatWidgets() #自定义Widgets
‘next...‘
def creatWidgets(self):
self.funcLabel = Label(self, text=‘**向图片中添加字符串的小程序‘) #文本Widget
self.funcLabel.pack()
self.picLabel = Label(self, text=‘请输入图片路径‘) #文本Widget
self.picLabel.pack()
self.picPath = Entry(self) #输入框Widget
self.picPath.pack()
self.strLabel = Label(self, text=‘请输入字符串‘) #文本Widget
self.strLabel.pack()
self.strContent = Entry(self) #输入框
self.strContent.pack()
self.printButton = Button(self, text=‘预览‘, command=self.picOpen) #按钮Widget
self.printButton.back()
self.saveButton = Button(self, text=‘保存‘, command=self.savePic) #按钮Widget
self.saveButton.pack()
self.quitButton = Button(self, text=‘退出‘, command=self.quit) #按钮Widget
self.quitButton.pack()
3.图像处理 包括打开图像、print文字、图像预览以及图像保存
def picOpen(self):
image = Image.open(self.picPath.get()) #打开图片
w, h = image.size
font = ImageFont.truetype(‘arial.ttf‘, 36) #设置文本字体和字号
draw = ImageDraw.Draw(image) #将文本‘打印’到图片
draw.text((w-20,0), self.strContent.get(), font=font, fill=(255,0,0))
#image.show() #调用系统看图软件,速度慢
plot.figure(‘picAddStr‘) #调用matplotlib库
plot.imshow(image)
plot.show()
self.image = image
def savePic(self): #保存图片
self.image.save(‘1.png‘)
4. 调用
pic = Picture()
pic.master.title(‘picAddStr‘)
pic.mainloop()
标签:UNC pac 方法 输入 plot man comm raw gui
原文地址:https://www.cnblogs.com/i-orange/p/9293449.html