大家过年好呀,祝大家新年快乐,万事如意!
这里记录一下学习Tkinter的知识。
以下这段代码是从:
【1】https://www.cnblogs.com/shwee/p/9427975.html
【2】https://blog.csdn.net/sinat_27382047/article/details/80138733
这两篇文章中摘抄的(只进行了一丢丢的修改,嘻嘻🤭)
感谢两位大神的文章哦!如果侵犯到原作者,还请原作者立即联系我,我会马不停蹄的处理掉滴!
# _*_ coding: utf-8 _*_
import tkinter as tk
import tkinter.messagebox
import pickle
from PIL import ImageTk, Image
# 实例化object,建立窗口windows
window = tk.Tk()
# 给窗口的可视化起名字
window.title('My Window')
# 设定窗口的大小(长 * 宽)
window.geometry('500x300')
# 在图形界面上创建400 * 135大小的画布并放置其他元素
canvas = tk.Canvas(window, width=400, height=135, bg='white')
# image_file = tk.PhotoImage(file='D:\\个人\\0102-050-2c.jpg')
# 注:tk的photoimage只能打开gif图片(修改文件后缀无效),如果打开其他图片类型会报错:“couldn't recognize data in image file”
# 所以这里使用Image打开图片,并设置一个函数,将图片自动进行缩放
# 以一个PIL图像对象打开
pil_image = Image.open('D:\\个人\\blur.jpg')
# 获取图像的原始大小
w, h = pil_image.size
def resize(w, h, w_box, h_box, pil_image):
'''
对一个pil_image对象进行缩放,让它在一个矩形框内,还能保持比例
'''
f1 = 1.0 * w_box / w
f2 = 1.0 * h_box / h
factor = min([f1, f2])
width = int(w * factor)
height = int(h * factor)
return pil_image.resize((width, height), Image.ANTIALIAS)
# 希望图像显示的大小
w_box = 400
h_box = 135
# 缩放图像让它保持比例,同时限制在一个举行框范围内
pil_image_resized = resize(w, h, w_box, h_box, pil_image)
# 把PIL图像对象转变为Tkinter的PhotoImage对象
image_file = ImageTk.PhotoImage(pil_image_resized)
image = canvas